前不久发布的 iPhone XS 与 iPhone XS Max 终于将内存提升到了 4 GB 级别,不过与动辄 8 GB 的安卓设备相比还是有些捉襟见肘。不过很多用户非常奇怪 iPhone 的内存参数往往相较于 Android 设备较低,但为什么仍然可以保证优秀的响应速度,为什么在使用中丝毫不会察觉到卡顿感呢?这是由于 iOS 独特的「墓碑机制」保证了前台运行的应用的流畅性,我们下面一起来了解一下具体的原因吧。
「墓碑机制」是什么?
我们先来简述一下 iOS 的后台「墓碑机制」,回到主屏幕时应用将停留在后台,内存将被保留,进程被冻结,被称之「墓碑」。重新运行此应用将会很快返回,在此期间不会释放内存,系统检测到内存不足时,将会要求后台应用自行释放内存,如果仍无法释放足够的内存,将会结束应用,被终止的应用在后台仍保留记录,重新运行时通过此记录重新加载,保证应用运行时拥有够的内存空间。
iOS 仅支持以下进行以下 7 种行为的应用长时间在后台保持运行:
◦ audio
◦ VoIP
◦ GPS
◦ News
◦ 和其他附属硬件连接时;
◦ 使用蓝牙进行通讯时;
◦ 使用蓝牙共享数据时。
但即使没有进行这些行为,应用在后台也将在内存中最长保留 10 分钟,而不会被清理。iOS 7 之后引入了新的计时方式:Background Task Completion,其原理为当设备在 10 分钟内进行了锁屏操作,及时将被停止,直至下一次进入桌面。
后台应用清理还将取决于用户的使用习惯,当需要释放更多内存运行其他应用时,系统将优先清理较少打开次数的应用。因此,即使设备搭载了更大容量的内存,后台应用同样将被暂停服务。
那么内存容量提升对于 iPhone 而言意味着什么?
iPhone 的内存大小容量时保证当前应用在运行环境下的流畅程度决定的。
更大内存能够流程运行更多的应用,也能相应地增加应用在后台停留时间,但对于 iOS 整体流畅度影响不大。因为 iOS 与日常使用的 Windows、Android 系统不同,iOS 系统流畅度更多取决于 CPU,CPU 运算能力越强大,系统则越流畅。而由于 iOS 内存调用完全由 CPU 控制,任何应用都无法在 iOS 中私自调用内存(Android 相反,应用拥有高度自由调用内存的权利,这也导致部分应用随意启动后台,占用大量内存),所以 CPU 性能越强大,调用内存更加流畅,系统相应时间更短,优化用户体验。
为什么 iPhone 目前无需 4 GB 以上的内存?
简单概括就是目前 3 GB/4 GB 产品线足够使用,如果增加内存容量,将会带来更大的功耗及更高的成本。
● 从商业化的角度考虑,更大内存将导致成本增加,最终导致售价提高,手机本身销量将受到影响。
● 从 iOS 后台运行机制考虑,使用更大的内存对于用户体验的提升微乎其微。