如果你比较关注手机的话,就会发现目前最新款的iPhone 13仅仅只有4GB的运行内存,而目前主流安卓手机基本上起售运行内存都已经来到了8G,主流配置则是12G,部分游戏手机甚至实现了18GB!再加上系统“软件”上的内存拓展甚至能达到21G!而目前,绝大多数普通人的台式机/笔记本电脑的运行内存仅仅只有16G左右。
(相关资料图)
当然,如果你是一名iPhone用户可能就不知道,因为每一代iPhone苹果都不会标明运行内存的大小,他们的消费者也不会将运行内存作为购买的参考参数。而在四年前的iPhone XR的运行内存仅仅只有3G,同期的安卓手机普遍都在6G以上,直到今天苹果才多了1G,而安卓已经翻倍。
我想在这时候,很多人都会有这样的一个疑问:为什么iPhone只有4GB内存都能做到如此流畅,而安卓手机是苹果的好几倍都容易出现卡顿呢?
首先,你要了解手机内存的功能。 内存的作用是暂时存储处理器的运行数据,以便及时取回。 例如,如果将手机上运行的软件比作数学考试,那么内存就像草稿纸,承载着计算的步骤,而处理器就是负责计算的计算公式。假设处理器在没有瓶颈的情况下,也就是说,当草稿纸面积不足时,计算效率会下降,最终会影响答题速度。所以我们能简单的猜到iPhone内存小的原因之一。要么是算题方式更好,用的草稿纸面积小。要么就是有“橡皮擦”一类的东西,可以擦掉不需要的部分。但这毕竟只是猜测,具体的问题还得具体分析。
而首先就是IOS和Android系统的生态差异。iOS和Android系统虽然都是结果导向的触屏智能手机,但用户体验感知的差异也非常有限。 但实际上,这两个系统的运行逻辑大相径庭。
例如,由于Android中谷歌服务的限制,所有APP都必须在后台实际运行,也就是说,如果你打开一个100MB的APP,后台内存会减少100MB。 为保证软件的流畅运行,及时向你推送消息,安卓的软件会尽量不进入后台后被杀。这也是为什么在安卓手机上,你明明在睡觉之前清理了后台,可结果醒来却发现自己的通知栏早已密密麻麻的原因之一。很多应用常年停留在后台,也是为了能够收集用户行为数据。只要你安装了足够多的软件,驻留在后台的进程和应用程序就会越多。
苹果的IOS系统采用后台墓碑机制,信息的接受与苹果的服务推送统一。 所有APP推送消息都需要先发送到苹果的Apple Push Notification Service,然后再推送给用户,这样就只需要一个接口也不会耽误信息的获取。
同时,APP在后台时,Android真运行机制,IOS是虚拟后台。 当APP被放到后台时,会被挂起,不会继续工作。 当上一个任务中断时,系统会记录当前应用的状态并记录下来。当需要恢复时,系统则会根据录制的内容恢复到中断前的状态。也因此,安卓阵营的内存会越来越大,而iPhone的需求却没有那么大。
同一个APP运行在Android和IOS上占用不同的内存。 除了系统机制的不同,开发者对APP的优化其实也有关系。IOS是一个只有苹果才能使用的封闭系统,而且使用IOS的机型也仅有苹果自家的产品。所以苹果对开发者的要求更加严格,审核机制也更加完善,必须通过要求才允许在苹果的APP Store上架。开发者需要更强大的优化机制来适应苹果的硬件。
相比之下,Android作为开源系统,管理机制比较松散,所以对于开发者来说,硬件适配的问题无需过多考虑。而且,不同的安卓厂商还会对原生安卓进行深度定制,比如耳熟能详的MIUI,Color OS等,会对内存控制方面产生些许的不同。这导致虽然是同一个APP,但由于优化不足,Android占用的内存比IOS大。
纵观苹果内存升级的这些年,升级并不是为了系统流畅不掉帧,而是为了新的需求:因为3D Touch的加入升级到2G,双摄计算摄影升级到3G,避免双层主板的发热过快问题提升到4G,为了支持激光雷达升级到6G。苹果是为了自己的产品而升级内存。
对此你有什么看法?欢迎在下方讨论。
我是科技秋风,原创不易,欢迎点赞,关注,收藏,期待下一次的见面