功夫不负有心人,近日苹果官方终于正式回应:“滑动关闭后台应用程序可能会缩短iPhone的电池寿命,或将导致手机变慢。除非是在无响应的状态下,否则不应该强制关闭应用程序。”
苹果“假后台”
很多时候,我们以为存放在后台的APP也在悄悄的运行,它们同样会占用CPU的运行效率,白白耗费电量。按照这样的思维,经常清理后台自然可以获得更快的系统流畅度与更长的电池续航时间。
如此清理后台的“诀窍”,在智能手机早期十分流行。当时国内的安卓生态比较混乱,流氓APP自启、相互唤醒行为比较常见。当没用的后台程序过多,就会造成耗电和内存不足。从那时起,人们就养成了即使清理不用的APP,保持系统内存“富余”的习惯。
☝ 历代 iPhone 运存
然而,苹果使用的iOS 系统与MAC OS系统与安卓有着很大的不同,安卓早期系统使用习惯并不能简单套用。在苹果系统中,有专属的资源调配及省电的功能,系统会让闲置的APP进入“冻结”状态。我们手势上滑呼出的多任务界面,其实只是近期使用过的APP列表与快捷方式。
当我们切换到下一个APP时,前一个APP内存等资源已经被冻结和释放。也就是说,苹果系统中的后台APP其实是“假后台”,并没有真正在后台运行。
“真死”与“假死”
既然是“假后台”,自然没有清除后台的必要了。况且,按照苹果官方的说辞,后台在被完全关闭后,重启反而会消耗大量电量。
苹果iOS 系统与安卓系统,对后台的管理机制截然不同。安卓系统是“真后台”,后台APP会占用大量系统内存。iOS 系统是“假后台”,前台独占内存空间,后台应用会交换到手机的闪存,保存“关闭”前的状态,释放占用的硬件资源,切换后台应用时,从闪存直接调用到内存。
iOS 这种机制也被称为墓碑机制,也就是当一个程序被系统关闭后,系统允许这个程序给自己立一个“墓碑”,记录着自己“生前”的模样。等到再次使用时,系统会照着它墓碑上的描述,从闪存中加载到内存中去。“墓碑”状态下,不占用CPU与内存,对系统运行几乎没有损耗。
☝ iPhone 内存
不进行“滑动关闭后台”操作时,APP还留有一个“墓碑”,打开处于“假死”状态的APP,APP从闪存中提取“关闭”前数据,反应快、消耗资源少。而经过“滑动关闭后台”操作之后,APP从休眠状态转为彻底关闭,重新打开时,APP