首页 > 教育学习 > 为什么 > 为什么 Android 在同样的硬件条件(甚至是更好的硬件)下没法做到 iOS 下那样的流畅?

为什么 Android 在同样的硬件条件(甚至是更好的硬件)下没法做到 iOS 下那样的流畅?
2012-01-19 20:09:58   来源:   点击:

    为什么 Android 在同样的硬件条件(甚至是更好的硬件)下没法做到 iOS 下那样的流畅?比较过android和ios的人应该都会或多或少的感觉到android不管是系统自带的应用还是第三方开发的,经常会有卡的情况(在早期的android机器上更是卡的惨不忍睹),但是三年前发布的iPhone 3GS却能跑很华丽的游戏。我的XOOM顶着双核1G的处理器,却连流畅的显示pdf都做不到。这会是有什么导致的?java比obj-c慢很多,还是android写的太烂?

    11 个答案

    • 答案 1:

      因为JAVA的虚拟机机制,处理代码必须先经过虚拟机才能转换为机器语言(01)。 这就体现了object c的优势,少一道过程所以怎么也会快。 任何事情有利必有弊,所以IOS跨平台性不强。 逻辑就是这样,想研究的朋友可以自己去查资料。
    • 答案 2:

      ios的object-c需要自己分配及释放内存,android则相反,由垃圾回收负责回收内存,而且这个动作发生的时间不由程序员控制,所以导致用户在使用app时,经常垃圾回收开始工作导致系统流畅度下降
    • 答案 3:

      苹果擅长的是软硬结合,iOS只跑在屈指可数的芯片上。Android要面对无数不同的硬件组合,分辨率,驱动。。。。质量参差不齐。原来游戏卡有一个因素是JAVA的GC,现在比较跨平台游戏,Android并不处于下风。
    • 答案 4:

      正如各位所说这是 un-native 的原罪。
    • 答案 5:

      有篇文章曾经指出,iOS优先处理用户请求,这样会让用户感觉很好;而Android是并行处理用户请求和后台线程,这样效率虽然更高,但用户体验就糟糕了。此外,Java在垃圾回收时貌似会暂停其他线程,这样也会造成突然很卡的情况。
    • 答案 6:

      软硬结合,配置够用优化合理是,iOS在设计时就考虑的很清楚了。Android过度的硬件配置堆积,系统并未考虑到硬件,硬件也没对系统对资源的占用进行优化,外加上java的天生缺陷,导致高配低能。
    • 答案 7:

      就没用到 OpenGL ES 的普通应用而言, android UI 的不流畅主要是因为没有利用 GPU 的加速能力的缘故.
    • 答案 8:

      用Google亲儿子的表示不卡,我想,这应该是兼容度的问题……
    • 答案 9:

      ios应用都通过苹果严格审核,卡的话你就不会看到了,android应用几乎不审核。ios开发者要控制内存的使用,开发成本也要高的,ios不支持后台程序节省了很多系统资源
    • 答案 10:

      这个问题不太了解
    • 答案 11:

      其实如果使用像三星这种深度优化的应该没问题。

相关热词搜索:

上一篇:为什么思八达能忽悠这么多的人?
下一篇:Vertica 数据库与 Cassandra 相比有什么优势?