为什么 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用户的理解和猜测,如有不对的地方,欢迎指正批评。
首先你需要了解一下 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用户的理解和猜测,如有不对的地方,欢迎指正批评。
相关文章推荐
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- ios开发——日常之三种方式使得iOS应用能够在后台进行数据更新和下载
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- 三种方式使得iOS应用能够在后台进行数据更新和下载
- 为什么中国的XBRL数据都不能免费下载?
- iOS企业发布问题记录一(为什么iOS的应用安装到一半时提示"无法下载应用程序"?)
- iOS后台进行数据更新和下载
- 前端文件上传,struts2后台返回json数据,在IE为什么会以文件下载的形式打开。
- iOS 下载图片 -当后台返回的数据是文件流而不是图片url
- IOS本地通知(注意本地通知在应用内不能弹出,应用进入后台才能)
- 用ajax提交数据到后台以便下载,但是不能下载
- ios中qq在进入后台的情况下为什么还能接收到数据
- IOS 应用文件数据的读写分析
- iOS应用程序的生命周期及前后台切换,应用的各种状态)
- iOS开发遇到的坑之五--解决工程已存在plist表,数据却不能存入的问题
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解