分享

为什么小内存iPhone比大内存Android机更流畅?

 昵称11935121 2018-05-17

这中间的原因不少,而且iPhone的内存也是越来越大了,从之前的1-2G升到了2-3G,也是适应时代的发展需要,当然Android手机的步子更大些了,现在基本上是3GB起步,标配4-6GB,高的达到8GB了,尽我所知,分析如下:

垃圾回收机制,意味着Android内存越大越好

Android内存管理机制是物尽其用,有多少内存就用多少,直到内存不够了,就会执行垃圾回收,这样的机制有利于大内存的发挥,而对于内存有限的手机就很不好。问题在于,垃圾回收是一个昂贵的过程,会使设备变慢,这也是大家经常吐槽手机用了一段时间变得有些卡的主要原因。

但是iPhone没有垃圾回收这样的机制,它用的是自动引用计数,这是Objective-C管理对象的方法,比如引用时计数+1,解引时-1,计数为0时就释放,整体上它对内存的利用率要高得多,不会有事没事都丢在后台,在内存上占用要少得多,当然,也经常有人吐槽iOS这种“伪后台”。

虽说内存越大越好,但对大多数人来说,4GB内存的Android手机已经能满足绝大多数人的需求了,并不是像8GB对iPhone的3GB那么夸张。

用户界面的优先级,才是iPhone流畅的主要原因

iOS优势之一就是操作起来流畅十足,这个主要原因是iOS UI渲染发生在具有实时优先级的单独线程中,但是在Android上,UI渲染只是发生在普通优先级的主线程中,这意味着Android中的其他应用随时可以接管处理器资源,并伤害基本的用户界面交互,从而导致明显的延迟。

应用程序管理,开放、自由与混乱

Android给了开发人员更多的权利和自由,导致内存泄漏或资源占用后台进程,虽然现在Android已经做了一些尝试来控制它,但力度还远远不够,尤其在国内还有很多不良的开发人员肆意在利用这种自由做着一些伤害用户体验的事。

iOS就不同啊,它对开发人员提出了很多限制,在这样循规蹈矩下,开发人员也做不了什么伤害的事情来,当iOS认为某应用不需要运行时,iOS会终止任何进程。

软件与硬件的协作

iOS与iPhone是高度协作的,它们都是苹果公司设计和测试,并由Apple的合作伙伴制造,而Android四海为家,开发人员与硬件制造商分离,碎片化已不堪重负,在软硬件的衔接上远不如iPhone了。

正是由于这样种种原因,才造成了题主所问的问题,当然,Android正在努力赶上,Google也在不断规范这个系统,两者之间的差距正在缩小,但是,我们也要正视这种差距的存在。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多