ios 后台运行
来源:互联网 发布:男士控油保湿知乎 编辑:程序博客网 时间:2024/06/05 20:09
从 iOS 4 开始,应用就可以在退到后台后,继续运行一小段时间了(10 分钟)。
此外还可以把自己声明为需要在后台运行,就能不限时地运行了。不过限制为播放音乐、使用 GPS 等。值得一提的是,有的应用为了达到后台不限时运行的目的,在后台播放无声的音乐(审核不一定会被发现)。
iOS 5 开始又多了一种类型:下载报刊杂志。
然后 iOS 7 则可以下载各种玩意和定时抓取。
不过对于开发者来说,iOS 7 还有 2 个需要注意的区别:
此外还可以把自己声明为需要在后台运行,就能不限时地运行了。不过限制为播放音乐、使用 GPS 等。值得一提的是,有的应用为了达到后台不限时运行的目的,在后台播放无声的音乐(审核不一定会被发现)。
iOS 5 开始又多了一种类型:下载报刊杂志。
然后 iOS 7 则可以下载各种玩意和定时抓取。
不过对于开发者来说,iOS 7 还有 2 个需要注意的区别:
- iOS 7 以前,应用进入后台继续运行时,如果用户锁屏了,那么 iOS 会等待应用运行完,才进入睡眠状态。
而在 iOS 7 上,系统会很快进入睡眠状态,那些后台应用也就暂停了。如果收到事件被唤醒(例如定时事件、推送、位置更新等),后台应用才能继续运行一会。
因为处理过程变成了断断续续的,因此下载时也要使用 NSURLSession 来处理(即下文中的 Background Transfer Service)。 - 由于 App Switcher 的存在,应用即使在后台,用户仍然能看到它在退出前的快照。如果有什么不可见人的东西(例如刚拍的艳照啦,劲爆的聊天内容啦,银行卡密码什么的),就处理下界面来隐藏吧。
- Background Fetch。可以设置应用在后台至少隔多久时间就去抓取一下更新(注意是至少,不保证达到这个频率)。以微博来举例,如果用户的微博被别人评论了,iOS 7 之前得让微博的服务器来推送一条通知,用户接收到后,进入该条微博,等待加载该评论;而 iOS 7 上则可以让用户每隔一定时间(如一分钟)查询一下有没有更新,发现有则下载更新的内容,然后发送一条本地通知给用户,用户接收到后,进入该条微博,显示在后台下载好的评论内容。如果需要的话,连 timeline 都能给你提前更新了。
很显然,这种做法体验更好,但更费流量和电池。 - Silent Remote Notification。iOS 7 之前的推送会直接弹出一个对话框,用户确认后才会进入应用;而 iOS 7 上则可以不弹出对话框,而是直接通知应用去下载更新,等下完后再发送本地通知给用户,这样用户进入应用后,就能直接看到更新的内容了。
这种做法就比前者好些,不需要在后台轮询了。只是用户如果对更新内容不感兴趣,也会被强制下载。
为了避免被滥用,这种推送有频率限制(每小时几次),所以推送 QQ、微信这类经常被刷屏的消息肯定没戏。 - Background Transfer Service。iOS 7 之前的应用可以在后台继续运行一段时间来下载,但如果因为各种原因而导致应用被退出了(被用户杀掉,内存不足或超时被系统杀掉等),那么下载是得不到保证的。iOS 7 的后台传输服务则可以让系统去下载,出错或下完后通知并唤醒应用来处理。
对用户来说的好处就是,想离线缓存影片时,可以让优酷之类的应用在后台下载,自己放点音乐看看漫画,而不用傻傻地开着优酷等待下完。上传当然也是支持的,基友再也不用担心你没空发小电影什么的了。此外,1 和 2 里提到的后台下载,也都会用到 3。
为了避免浪费流量,该服务只会在 WiFi 环境下才进行传输。
0 0
- [后台]iOS中后台运行
- ios后台运行程序
- ios socket 后台运行
- iOS中后台运行
- iOS中后台运行
- iOS中后台运行
- ios后台运行相关
- iOS 后台运行
- iOS中后台运行
- ios 后台运行
- iOS中后台运行
- ios 后台无限运行
- iOS中后台运行
- iOS中后台运行
- iOS 后台运行
- iOS 后台运行
- ios 后台运行
- iOS中后台运行
- 我在Pointers on C 的错误点——1
- AjaxPage类使用说明
- C#中常用的几种排序算法
- 带下划线的变量名ios学习笔记
- 【凯子哥带你夯实应用层】读 Develop API Guides 有感(一)
- ios 后台运行
- Linux 网桥模式下使用netfilter
- UIButton的titleEdgeInsets和imageEdgeInsets属性
- 用两种while循环求2的n次方,n是传入的值。
- 重拾Android 之界面控件和布局方式
- android动效开篇
- UVA10817 Headmaster's Headache 状态压缩的01背包
- Socket网络通信理论基础搜集(TCP/IP协议栈与数据包封装+TCP与UDP的区别)
- exe4j生成可执行文件