分享

苹果手机为什么可以做到不卡?(26个回答)

 昵称30442226 2017-04-24

从2008年的iPhone 3G发布至今,iOS系统对内存的优化的越来越好,你可以看到iPhone 5/6两代手机对内存的需求都控制在了1GB。后续的6s,7两代也仅仅最高达到3g。

反观安卓,目前最高的6g,相信一年后照样卡成狗。 一直以来,苹果的iOS工程师对iPhone的内存占用要求都极为苛刻。

苹果这么做就是为了避免让自己陷入安卓现在堆硬件的泥沼之中。堆硬件很容易,但系统优化却非常不易。诚然,这些年来安卓和苹果的配置都大大的提升了,但是对内存的优化,安卓却远没有苹果做的好。

苹果1G内存为何能完爆3G的安卓?

1、系统运行机制的不同

安卓手机应用都是通过Java来完成,而用户关闭应用的时候度要涉及一个过程,那就是Java垃圾收集机制(garbage collection),也就是说如果一个用户要关闭应用,在这中间Java垃圾收集需要大量的内存来工作(大约是4-8倍),如果机器本身内存不够它调配的话,速度自然就慢下来了。

虽然iPhone依然是1GB内存,但iOS系统跟安卓有本质的区别,其过程中也不会涉及所谓的垃圾收集机制,而是一种和微软的WP系统类似的“墓碑机制”,也可以说是“假后台”

iOS系统的特点就是集中所有的硬件资源去保证当前运行的软件的流畅,APP一旦进入后台了,它就是将APP冻结或者叫休眠。说到这里可能有人会问了,那为什么QQ和其他APP后台了依然能收到消息,这是以为iOS有很好的后台消息推送机制,你收到的消息其实是通过服务器推送给你的。这也就是解释早期的时候,苹果服务器(在国外)不稳定的时候,由用户掉线或者漏接消息的情况。

但是现在服务器不稳定的这个情况不复存在了,良好的推送服务和伪后台机制,可以让你的苹果手机在1GB的情况下流畅到爆,因为1GB完全是能胜任的。

2、软件厂商对APP的优化

除了系统运行机制的不同,安卓手机越用越卡跟现在很多的无良的APP开发者有关。现在越来越多的APP开发者滥用安卓的权限,基本所有的软件都在滥用开机后台自启动的权限,并美其名曰是为了让你打开软件的速度提升,其实是为了让自己时刻能控制安卓手机,并及时推送广告消息。

而苹果则不同,iPhone的软件都是在苹果商店下载的,就算是越狱了,你下载的软件大部分还是正版的APP。苹果对APP上架极为严格,所以苹果的APP开发者想疯狂加入广告插件不但可能,开发者反倒要绞尽脑汁去把APP优化到极致。

另外有一点,也就是安卓一直以来饱受诟病的碎片化问题。一个安卓APP要让那么多不同尺寸、不同分辨率、不同硬件的安卓设备都能跑起来已经是非常不容易了。前段时间,ROM基地还报道过一开发者为了测试APP,狂买了600多款不同的安卓设备。反观苹果,就那么几款手机,移植适配起来相对容易多了,软件开发者也有更多的精力去优化自己的APP。

总结来说苹果硬件统一,开放的api少,没有虚拟机,效率折损低,生态链好,app开发框架比较固定。而安卓应用层级比较复杂,虚拟机的效率没有直接在系统层级效率高,部分优化不到位,后台的servers 机制会吃一部分内存。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多