iOS是假后台吗?

网友解答: 所谓iOS是假后台一说,流传甚广,说者也是理直气壮,不信你看:后台不会下载、开多个网页后切换需要重加载等等,今时今日这说法就真的靠谱吗?首先得从后台开始说起iOS 4时代的多

网友解答:

所谓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是“智能后台”。

网友解答:

普及一下iOS的后台机制,iOS app在切到后台后(包括home键,锁屏键,黑屏等)基本有3种形式:

1.继续运行,这类app需要申请相应的权限,比如定位,音乐播放,voip等,正宗的后台运行。

2.挂起状态,也就是app暂停执行,但所有的状态都在,并且一直占用内存,这类app在系统资源紧张时会被系统杀掉,下次进入就会重新加载,所以2G内存体验要比1G好的多,不会频繁杀app。

3.挂起-运行切换状态,也就是刚切入后台时是挂起的。但后面可能被某些事件唤醒,来处理或者更新数据,比如远程推送,后台刷新,定位服务等,这类app一直会在挂起-运行状态之间切换,大部分时间都是挂起状态。

可以说iOS的后台机制是非常智能的,某些android用户以“假后台”来黑iOS是很愚蠢的。

标签: