打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
问题详情
iOS后台类型可以分为三种:
1. 保存现场。按下Home键10秒内直接杀死进程,并释放内存,大多数第三方APP(非内置APP)都属于此类,APP会保存关闭时的状态以便保存数据和下次打开时恢复。
2. iOS系统支持的“多任务”。按下Home键转入多任务状态,保留在内存中,但只能进行系统允许的动作:比如GPS,比如VoIP,比如流媒体播放等等,例如打开一个第三方音乐播放器,播放歌曲并按Home推出,音乐仍可以继续播放。
3. 真正的桌面级别的多任务。只有Safari/Mail是,苹果嫡系大都都不是。这个级别的APP在后台没有任何限制动作。
无限制后台动作的程序,一会在用户无察觉的情况下耗光电力,二会有安全上面的问题,所以苹果杜绝了绝大多数APP的后台动作,并且引入了推送服务器的概念。
由于iOS不允许大多数的APP在后台实时运行,那么例如QQ这类软件是如何实现实时聊天的呢?IOS的推送(APNS,即 Apple Push Notification Service)依托iOS系统常驻进程运作,全局接管所有APP的消息推送,所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。例如,你的QQ好友给你发了一条消息,QQ服务器(Provider)会把这条消息转发给苹果对应的服务器(APNs)发出通知,然后再中转传送到你的设备之上。当你接收到通知,打开应用,QQ这个APP才开始从腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同的通道而来。
我们再来看看Android:
当进程被切换到后台时,系统暂停进程。不消耗CPU资源,只在内存保留运行状态,并根据应用本身设置优先级:
七个优先级:
前台进程。顾名思义,你当前屏幕正在显示的进程。
可见进程。随时需要待命的进程,例如随时需要召唤出来的输入法。
主要服务。系统的必须服务,例如电话。
次要服务。与系统关系密切的服务,例如 Gmail 的邮件推送服务。
后台进程。同样顾名思义,就是刚刚被你切换到后台的进程。
内容供应节点。没有应用实体,仅提供内容供别的应用去用的,比如日历供应节点,邮件供应节点等。
空进程。没有任何东西在运行的进程,有些应用在退出后,依然会在进程中驻留一个空进程,这样的作用是提高该应用下次的启动速度或记录一些历史信息。
正常的Android应用在退出之后要不就成为后台进程,要不就成为空进程。这些进程已经暂停了运行,不占用 CPU 资源和电量。在内存不足,用户需要打开另外的应用时,就会自动清除掉,所以完全不需要清理内存。
那些不正常的应用,就会在后台开各种主要服务和次要服务,导致用户退出后继续运行,最常见的例子就是各种占据任务栏的xx电池助手、xx手机助手……
还有我们熟悉的微信、微博,关闭后仍然会在后台驻留后台进程,以接受推送消息,并且不断唤醒处于深度睡眠中的CPU。
我们仍以QQ为例,QQ在后台时会保留相关进程以及服务,并且与QQ服务器实时通讯以便获得好友发送来的消息。
iOS的聪明之处在于系统集成的推送服务接管了所有APP的推送消息,开发APP时只需遵循这一API接口即可,任何iOS设备如iPhone可以在这个统一的系统服务上获得各类APP的推送消息,占用资源小巧,并且省电。而Android上如果有100个APP需要获取通知消息,就可能需要在后台运行100个进程或者服务,这对内存以及处理器的占用是相当巨大的,而且对电池的耗费也是比iOS更为严重。
热心网友 2015-04-10
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
iOS和Android究竟哪个好?其实得看你的选择
Android与iOS系统的消息推送机制
别再争论ios还是安卓哪个好用了,带你全面了解两个系统那些事
为啥安卓机不及iPhone流畅?原因在这里!
为什么安卓手机越用越卡呢? 问题原因探究
从Java转iOS第一个项目总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服