iOS是“伪后台”? 这是真的嘛?
“伪后台”从iOS 4开始
从iOS 3开始,苹果为iPhone引进了push notification,不启动应用也能收到推送消息,原理是消息由APNS(Apple Push Notification Service,Apple Push服务器)统一管理,即便到了今天,APNS还是如神一般存在,而Android中各种误杀造成收不到微信消息想必各位都有过体验。
iOS 4时代的多任务管理界面
随着iOS 4的发布,iOS也开始有了多任务功能,当你点击Home键后,当前程序转入后台(iOS 4之前按Home键就直接干掉应用了),后台应用以墓碑的形式(退出前的状态)保存在内存中,用户可以快速恢复。但是苹果对后台的限制非常严格,只有一些特殊应用可以在后台真正运行,比如音频播放类,VoIP类,newsstand,位置服务等。
如果不做任何配置的话,你的应用最多只能在后台运行5秒,之后就会被挂起 (存于内存但不运行),如果你配置了后台运行(如需下载),大概在594秒(9.9分钟)时进程停止,程序同样也会被挂起,一旦系统需要内存了,最早的后台进程就会被杀掉以释放内存。
苹果这样的设计 的保证了当前活跃程序的系统资源,保证了手机的流畅性及续航能力,同时,后台进程基本上在几秒后就被挂起,所以在后台游戏的进度不会被改变,下载也可能不会继续,提交到Appstore的各类APP也会被严格审查是否有越权犯规行为,“伪后台”的称呼也就这样出现了。