iOS 允许的几种后台

几种后台存活的模式
ios7之后(一个app可以混合调用多种模式):Background Audio、VoIP、Location Services、Newsstand、Background Task Completion、Background Fetch 、Remote Notification、Background Transfer Service
Background Audio,VoIP
属于不后台会死的类型;
Location Services
是地点服务,系统统一管理;
Newsstand
是苹果自家应用,定时更新。这些都是早就有,没变化。
Background Task Completion
ios4中开始加入的限时后台,允许应用连续后台十分钟,ios7改为允许在开屏下运行十分钟,关屏会暂停,直到开屏后重启继续凑足十分种。
Background Fetch
ios7新增,在系统认为合适的时候激活应用,具体什么时候合适,开发者不可知,使用者不可控,由系统智能判断,适合获取及时性不强的信息。这个智能体现在系统会根据用户启动应用的频率和时间以及当前的网络和电量情况来分配每个应用的获取频率和时间,数据刷新是统一的,即系统可以在一个进程内获取多个应用所需的数据而不是一个应用一个进程(类似统一的推送机制,都是为了省电)
统一刷新这方面有点类似小米说的对齐唤醒和Deep Sleep Battery Saver,不同应用后台唤醒时刻不同会导致cpu无法进入deep sleep,某些Android用户会发现自己的手机一夜掉电超多,其实就是某些糟糕的app让cpu没睡好:-)
Remote Notification
ios7新增,由统一推送通知激活后台,支持silent notification,适合实时类强的应用,有频率限制(每小时几次)
Background Transfer Service
ios7新增,可以由应用直接激活的无限制后台,权限大,但是只限于下载上传类服务,只会在 WiFi 环境下才进行传输
需要特别注意的是:应用被Background Fetch、Remote Notification、Background Transfer Service三类唤醒时,只被给予几秒钟时间来处理更新。
可以看到对于Remote Notification和Background Transfer Service还是有一定风险的。苹果说会记录每次操作的时间,从而对应用进行监管,具体怎样,可观后效~
几个常见应用的后台模式
1.QQ音乐等音乐软件的锁屏界面显示歌词其实就是不断更换新的锁屏图片的水印。PP助手的锁屏界面显示下载进度也是同理。
2.有的软件为了实现后台下载,会在按下home键之后在后台默认播放空白音乐,这样系统本身就会识别为音乐,不会在按下home键之后将它关闭了。
3.大部分杀内存软件是软件本身先产生大量数据占用大部分内存来使iOS自身释放空闲内存,然后软件本身再恢复正常的内存占用。
4.iPhoneQQ即使关闭后台之后仍然杀不掉线,因为iOS版本的QQ即使手机后台关闭,腾讯后台也会自动默认在线48小时,软件本身和软件的通知是独立的,所以能正常接收推送(2011年6月份之前iPhone版QQ是按下home键自动离线的,但是可以接收消息)。
5.因为流量监测软件不能像安卓一样在后台驻留,为了实现流量监测功能,它会在第一次开启软件时读取系统当前的蜂窝数据用量,然后在第二次打开软件时再读取当前系统的蜂窝数据用量,相减之后得出这一段时间的蜂窝数据用量。
6.关于软件评分,有的游戏会弹出评分请求,在AppStore里评分完之后会给一些游戏奖励,实际上那些软件是无法检测到你有没有评分,有没有好评。只是给你提供一个弹窗,你点出去然后再打开这个软件即使不评分照样也可以获得奖励。
7.各种手机助手不越狱也可以安装所谓的正版软件,这是通过漏洞绕过了iTunes来使用一个账号授权无数个及其(原本一个iTunes账号最能授权5个机器),这其实也是属于盗版,而且当你再次通过自己的账号在AppStore中下载安装软件之后,之前通过各种助手下载的那些软件会出现闪退,需要重新授权。
8.各种电池助手电池管家只能在检测到你的充电状态后给你播放一个屏保,记录一下充电时间,他们并不能该读取电池参数,而且也无法对你的电池起到什么保护作用,计算的剩余充电时间也是不准确的(越狱后可以安装BatteryDetective来检测实际电池容量)。

Required background modes {
App plays audio or streams audio/video using AirPlay
App registers for location updates
App provides Voice over IP services
App processes Newsstand Kit downloads
App communicates with an accessory
App communicates using CoreBluetooth
App shares data using CoreBluetooth
App downloads content from the network
App downloads content in response to push notifications
}
1、Background Audio,这是后台的音频,这个很早之前便有,也是iOS设备中用得最多的后台应用,调用这个接口可以实现后台的音乐播放。
2、Location Services,这是后台的定位,系统会拥有统一页面进行管理。
3、VoIP,后台语音服务,类似Skype通话应用需要调用,可进行后台的语音通话。
4、Newsstand,报刊杂志后台自动下载更新,其能够自动实时更新。
5、 Background Task Completion,这个接口早在iOS 4时候便拥有,其可以供任意类型的APP使用,不过在旧系统中,这个接口的后台限制运行时间仅为10分钟,意味着当应用退至后台,其后台运行仅能持续10 分钟便会转至休眠状态。iOS 7中对这个接口作出了改变,原来的为连续10分钟,即不论你这10分钟内用户是否关闭屏幕进入休眠状态,应用仍然会在后台等待10分钟完结后推出,而新的 改进为假如遇到关闭屏幕休眠的情况,这后台运行的10分钟便会跟随一同休眠,剩余的后台时间将会留待用户再一次唤醒设备才计算。这样后台运行的时间仍然为 10分钟,但并不连续,这样做的优点为省电。
如现在有一些词典应用带有后台复制选词功能,实际上其是利用了这个接口,如果用户开启词典后并推出,即使屏幕关闭,但词典仍然在后台运行,电量消耗还是比较大的,在iOS 7上,这个问题可以得到解决。
6、 Remote Notification,这是本次较大的一个改进接口,以往聊天类应用接受推送后点进去需要再收一次信息,这情况在QQ、微信等应用上最为明显。不过拥 有了这个接口后,这情况将不复存在,以后推送将能够直接启动后台任务。值得注意的是remote notification支持silent notification(静默推送),这样dropbox这类同步应用可以在后台以最节能的模式实时静默同步了,类似布卡漫画这种也可以推送正在追的漫 画的新章节并在后台静默下载,待到下载好再给用户发送一个本地推送,用户点开即看无需再联网
7、Background Transfer Service,后台上传下载。iOS最接近传统多任务的后台接口,可供任意类型的app调用,无时间限制。应用场景包括后台上传和下载数据,这使得游戏 后台更新数据包,后台上传视频等等都成为可能,但是正如其名字,它只能用于处理上传下载这种传输类的任务,类似后台剪切板监控这种它就无能为力了。
现在以其中两个为例简单介绍一下后台定位和后台音频播放

@引用原文 http://www.bubuko.com/infodetail-404623.html

/感谢微博@iOS程序犭袁提供的文档支持/
**

后台定位

**

将plist文件中加入Required background modes
App registers for location updates

iOS后台运行NSTimer相关推荐

  1. IOS后台运行 之 后台播放音乐

    IOS后台运行 之 后台播放音乐 iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像 ...

  2. iOS 后台运行实现总结

    原文:http://www.jianshu.com/p/d3e279de2e32 iOS 后台运行的规则 应用的运行状态分为以下五种: Not running:应用还没有启动,或者应用正在运行但是途中 ...

  3. IOS 后台运行 播放音乐

    iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,Av ...

  4. iOS 后台运行一段时间(不是地图,音乐类型APP)

    iOS 通常是不能在后台运行的,尤其是用户点击锁屏键,APP进入后台,网络立马断开等.如何解决这个问题呢?在APP进入后台,APP怎么争取一些时间来"善后".代码如下:注:需要定义 ...

  5. iOS 后台运行保活

    前言 iOS有两种后台运行保活方式,第一种叫无声音乐保活(即在后台开启音频播放,只不过不需要播放出音量且不能影响其他音乐播发软件),第二种叫Background Task,但是这种方法在iOS 13以 ...

  6. IOS后台运行机制详解(二)

    (温馨提示:亲,请先看上篇,此文乃下篇) 三.iOS长时间后台运行的实现代码 1.检查设备是否支持多任务 Apple出于性能的考虑,并不是所有的iOS设备升级到iOS4以后都支持多任务,比如iPhon ...

  7. IOS后台运行机制详解(一)

    一.iOS的"伪后台"程序 首先,先了解一下iOS 中所谓的「后台进程」到底是怎么回事吧? Let me be as clear as I can be: the iOS mult ...

  8. iOS后台运行机制1

    iOS支持三种后台运行方式: audio:在后台提供声音播放功能,包括音频流和播放视频时的声音 location:在后台可以保持用户的位置信息 voip:在后台使用VOIP功能 一.iOS的" ...

  9. iOS后台运行的设置方法

    关于让程序保持后台运行有两种方方法: 1.直接上图:(当后台的内存实在是没有的时候,系统就会终止后台运行,也就是说这个的时间不确定的,这种方式是可怜的像后台申请后台运行的要求,是很可怜的的一种方法!! ...

最新文章

  1. 【廖雪峰Python学习笔记】函数式编程
  2. 大数据WEB阶段 TransientDateAccessResourceException
  3. Codeforces 845 A. Chess Tourney 思路:简单逻辑题
  4. SAP WebIDE里UI5应用的隐藏文件project.json
  5. HTML5学习笔记四: 列表, 块和布局
  6. 微软CNTK 2.0版本发布,支持C#
  7. Hive高级用法汇总
  8. 赌场圣手(从不失手)——隐马尔可夫!
  9. 解决[ERROR] [MY-013276] [Server] Failed to set datadir to ‘F:\Mysql\mysql-8.0.19-winx64\data\‘ (OS er
  10. ubuntu下mysql5.7安装教程_Ubuntu 16.04 上安装 MySQL 5.7 教程
  11. python 第13章:面向对象编程
  12. ARFoundation之路-人脸检测增强之一
  13. wps两个表格对比数据(怎样对两个EXCEL表格数据对比,找出相同和不同的数据?)
  14. Android 压缩文件成ZIP并分享到微信
  15. 某小说App返回数据 解密分析
  16. 影响IT人员未来发展的五个IT新技术方向
  17. Struts2学习笔记——StrutsTags(标签)
  18. 微信小程序实战之实现富文本编辑器
  19. CAD Converter转PDF的使用
  20. html怎么让页面没有滑动条,html不显示滚动条并可以滚动

热门文章

  1. java tcp 获取状态_TCP连接状态
  2. 在一连串英语单词中输出每个英语单词最后一个字母
  3. scrapy-crawl
  4. OLDboy-python第八期运维教程
  5. 恒压供水(3托3) 功能: 三拖三(3台变频3台水泵),3台水泵循环软启,定时轮换工作
  6. FZU 2242 - Daxia like acute triangle
  7. C# 控件 button主要属性
  8. 呼叫中心php开发接口,呼叫中心API功能
  9. 普通合伙和有限合伙企业的区别
  10. 数据库中敏感数据的销毁方式