您的位置:首页 > 移动开发 > IOS开发

为什么 iOS 上有些应用可后台下载数据,而有些不能 ?

2012-12-20 10:09 579 查看
http://www.zhihu.com/question/20250235

首先你需要了解一下 iOS 上的多任务机制,它实际上是一种基于API接口后台运行的“伪多任务”,也就是 APP 只能调用 Apple 预设的7种允许后台运行的API(见下图),通过API在后台工作才能实现的“多任务”,否则十分钟后这个进程会被杀掉。



iOS 4.0 开始加入了多任务功能。Apple 为这种它们“重新发明的多任务”设定了若干的场景,并为这些场景准备了若干个API(其中你说的后台下载数据就是其中一个场景,调用 Task completion 这个API)。关于这些的详细内容,建议你看看以下两个资料:
1.iPhone OS 4.0的开发者预览发布会(这是 Apple 官方关于 iOS 多任务的最详细解释,操作部分由Jobs教主演绎,技术部分由Scott大叔讲解)11分20秒处开始是关于多任务的部分:http://http://v.youku.com/v_show/id_XMTkxNjgxNTky.html

2.英文不好的话,就看看这个 ifanr 上面一篇关于 iOS 4 多任务的文章:http://http://www.ifanr.com/9522

所以,我猜测你所说的情况之所以会发生,就是有的APP开发者他注意到了iOS的这个特性,调用了 Task completion 这个API,有的开发者没有调用

由于我本人并不是做 iOS 开发的,以上内容纯是自己作为一个iOS用户的理解和猜测,如有不对的地方,欢迎指正批评。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: