最近发布的iPhone XS 和iPhone XS Max 终于将内存提升到了4GB 的水平,但与8GB 的Android 设备相比还是有些捉襟见肘。然而,很多用户都非常惊讶,iPhone的内存参数往往低于Android设备,但为什么它仍然能够保证出色的响应速度,并且为什么在使用过程中没有卡顿感呢?这是因为iOS独特的“墓碑机制”保证了应用程序在前台运行的流畅性。下面我们就来看看具体原因。
什么是“墓碑机制”?
我们先简单介绍一下iOS的背景“墓碑机制”。当返回主屏幕时,应用程序将停留在后台,内存将被保留,进程将被冻结,这被称为“墓碑”。重新运行这个应用程序会很快返回,期间内存不会被释放。当系统检测到内存不足时,会要求后台应用程序自行释放内存。如果仍然无法释放足够的内存,则会结束应用程序,被终止的应用程序在后台仍然保留该记录,重新运行时通过这条记录重新加载,以保证应用程序运行时有足够的内存空间。
iOS仅支持执行以下7种行为的应用程序长时间在后台运行:
音频
网络电话
全球定位系统
新闻
与其他配件硬件连接时;
使用蓝牙通讯时;
使用蓝牙共享数据时。
但即使没有这些操作,应用程序也会在后台保留在内存中长达10 分钟而不被清理。 iOS 7之后,引入了一种新的计时方式:后台任务完成。原理是当设备在10分钟内锁定屏幕时,会及时停止,直到下次进入桌面。
后台应用清理也将取决于用户的使用习惯。当需要释放更多内存来运行其他应用程序时,系统会优先清理打开频率较低的应用程序。因此,即使设备配备了更大容量的内存,后台应用程序也会被暂停。
那么内存容量的增加对于iPhone来说意味着什么呢?
iPhone的内存大小和容量是通过保证当前应用程序在运行环境中的流畅性来决定的。
更大的内存可以运行更多的应用程序,相应地也会增加应用程序在后台停留的时间,但对iOS的整体流畅度影响不大。由于iOS与日常的Windows、Android系统不同,iOS系统的流畅程度更多地取决于CPU。 CPU越强大,系统就越流畅。并且由于iOS内存调用完全由CPU控制,因此iOS中任何App都不能私自调用内存(相反Android App调用内存的自由度很高,这也导致部分App启动后台随意并占用大量内存),因此CPU性能越强大,调用内存越流畅,系统响应时间越短,优化用户体验。
为什么iPhone 现在不需要超过4 GB 的RAM?
简单总结一下,目前的3GB/4GB产品线已经足够了。如果加大内存容量,会带来更大的功耗和更高的成本。
从商业化的角度来看,更大的内存将导致成本增加,最终导致售价上涨,手机的销售将受到影响。
考虑到iOS 后台运行机制,使用更多内存对用户体验影响不大。