iOS是假后台吗


所谓iOS是假后台一说,流传甚广,说者也是理直气壮,不信你看:后台不会下载、开多个网页后切换需要重加载等等,今时今日这说法就真的靠谱吗?首先得从后台开始说起iOS 4时代的多任务管理界面从苹果的iOS 4开始,就有了多任务功能,当你按下HOME键,前台的应用就会以墓碑的方式保存在内存中,也就转入到了后台,这应该是iOS最后的"后台",但是在那个年代,只有像音频播放、位置服务等服务才能在后台真正运行,其它普通的应用会转到后台的几秒钟后挂起,也就是说虽然还存在内存中,但不会运行了,当系统需要内存了,这些被挂起的进程就有可能被杀掉以释放内存。显然这样的设计是为了保证当前活跃应用的良好运行,同时也能提高手机的流畅性及续航能力,而后台进程在几秒后就被挂起,下次切换的时候,就有可能需要重新加载,所以,“假后台”一说就这样出现了。从2010年起,iOS的这种多任务和后台管理持续了三年时间,经历了iOS 4、iOS 5、iOS 6三代,其间的改变很少,“假后台”就在这几年广为流传,但是时至今日,就有些不准确了。具有历史意义的iOS 7,“假后台”变为“智能后台”2013年发布的iOS 7绝对是里程牌式的,它的改变之一就是对后台进程的优化处理。在iOS 7中,手机锁屏后,后台应用将也会很快被暂停,如果系统被唤醒这些暂停的后台应用也会一起继续运行。除此之外,它会还记忆一些用户习惯。iOS后台适应用户的使用习惯可能很多用户并不知情,现在的iOS后台是非常智能的,比如你每天早中晚分别会打开A应用,B应用和A应用,iOS在观察一段时间后,它就会在适当时间提前唤醒或启动相应的A、B、A应用,提升用户体验,这样当用户打开A程序或B程序时,感觉好快啊,丝般顺滑就是这么来的。。另外,从iOS 7开始新增了三种后台运行模式,即Background Fetch(后台获取)、Silent Remote Notifications(静默推送唤醒)和Background Transfer Service(后台传输)。Background Fetch, 后台应用刷新简单来说,iOS 7之前的应用只有在打开时才能联网获取信息,而Background Fetch能在后台就可以直接获取信息,比如微信可以在后台自动更新朋友圈。Silent Remote Notifications则更人性化,当收到消息后随即唤醒相应的APP,然后再通知用户,大大提升了用户体验。Background Transfer service能让所有的下载任务会交给系统的独立进程去完成,下载任务在任务情况下(包括后台时)都会继续进行。Silent Remote Notifications所以说,现在的iOS不是“假后台”,是“智能后台”如果四年前说iOS是“假后台”也没多大问题,但时至今日,iOS已经进化了很多,尤其是后台的管理也发现了质的变化,所以今天再说它是假后台,就有些以讹传讹。准确地说,iOS是“智能后台”。
