IOS研究之IOS7四种后台机制
IOS 7中,实际上APP拥有四种后台模式。不管是哪一种后台机制,均须要利用苹果给予的对应后台接口实现。IOS7系统中,开发人员能够灵活利用多种后台接口(API)实现更加智能的应用操作。
对获取开机累计时间不了解的看NSProcessInfo获取系统开机累计时间
一,无后台仅推送
第一种后台方式为传统的无后台操作,仅有苹果推送机制。这样的方式出如今iOS 3.x下面的大部分系统版本号上。这个方式下,应用在按下Home键后即会关闭退出,其数据通过苹果搭建的推送server传输。并不须要应用后台执行。
这样的方式 不太好的原因在于。每次推出后。又一次进入均须要又一次载入,尽管推送可以统一解决数据和信息的传输。但遇到须要频繁进入应用(如聊天APP)的时候便会显得 体验不好。
二,墓碑式
另外一种方式为墓碑式的后台机制。这在iOS 4后被大量採用,也就是人们所说的伪多任务。这方式相比較第一种改进的地方在于,按下Home键至主界面后。应用随即进入后台。但其被冻结,并不能进行不论什么操作。
三,智能调度后台
第三种为系统智能调度的后台。iOS 7新增的background fetch。这个后台接口在苹果WWDC 2013上有提及,其会依据用户行为自己主动调整达到效率最优的后台模式,可以处理不是非常有时效性的信息获取。比如一些社交、新闻类的应用的后台信息更 新,iOS系统便会依据应用启动频率、时间和当前网络和电量的状况来智能分配每一个应用的后台获取频率和启动时长。
因为拥有该接口的应用的数据后台刷新操作是统一调度的。因此系统可以在一个进程里面获得多个应用的数据,类似统一的推送机制。这样就行最大限度地省电。
只是这个方式也有一个缺点,那便是开发人员不能设定数据详细什么时候更新,因此这个后台方式仅仅能应用在一些时效性和敏感度不高的地方。
四。真后台
第四种方式便是真后台机制,但iOS的真后台与Android的后台机制是不一样的,为了兼顾系统体验和统一进程管理。iOS在这上面增加了众多的限制。大致拥有下面几个后台接口模式:
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调用。无时间限制。应用场景包含后台上传和下载数据。这使得游戏后台更新数据包。后台上传视频等等都成为可能,可是正如其名字,它仅仅能用于处理上传下载这样的传输类的任务,类似后台剪切板监控这样的它就无能为力了。
IOS研究之IOS7四种后台机制的更多相关文章
- iOS 登陆的实现四种方式
iOS 登陆的实现四种方式 一. 网页加载: http://www.cnblogs.com/tekkaman/archive/2013/02/21/2920218.ht ml [iOS登陆的实现] A ...
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- ipa包如何打包?ios打包ipa的四种方法分享
今天带来的内容是ios打包ipa的四种方法.总结一下,目前.app包转为.ipa包的方法有以下几种,下面一起来看看吧! 1.Apple推荐的方式,即实用xcode的archive功能 Xco ...
- iOS中常用的四种数据持久化技术
iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults st ...
- iOS设置圆角的四种方法
小小圆角问题,正常情况下,我们不需要过多关心,但当屏幕内比较多的时候,还是有必要了解下性能问题的 一.设置CALayer的cornerRadius 这是最常用的,也是最简单的. cornerRadiu ...
- c++ 四种类型转换机制
类型转换机制可以分为:隐式类型转换 和 显示类型转换(强制类型转换) C中的类型转换: 事情要从头说起,这个头就是C语言.我们已经习惯了使用C-like类型转换,因为它强大而且简单. 主要有一下两种形 ...
- IOS基础——实例变量四种范围类型
1.为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性. 但是为了提供灵活性,苹果也让开发者显示设置范围(四选一). 2.四种编译指令如下: @private 实例变量只能被声 ...
- iOS 中 延迟操作四种方式
本文列举了四种延时执行某函数的方法及其一些区别.假如延时1秒时间执行下面的方法. - (void)delayMethod { NSLog(@"execute"); } 1.perf ...
- ios打包ipa的四种实用方法(.app转.ipa)
总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选 ...
随机推荐
- iOS9新特性
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...
- @Transactional spring事务无效的解决方案
关于@Transactional注解 一般都认为要注意以下三点 1 .在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和接口方法.类定义 ...
- Colored Sticks - poj2513(trie + 并查集)
问题便转化为:给定一个图,是否存在“一笔画”经过涂中每一点,以及经过每一边一次.这样就是求图中是否存在欧拉路Euler-Path.由图论知识可以知道,无向图存在欧拉路的充要条件为:① 图是连通的:② ...
- php 区分中文,英文,中英混合
$str1="是你"; $strA = trim($str1); $lenA = strlen($strA); $lenB = mb_strlen($strA,"utf- ...
- PHP手机号码归属地查询API接口
淘宝网 API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回:JSON ...
- ARM汇编语言(1)(基本概念)
1.***.s文件为汇编语言文件格式: 2.ARM寄存器(以Samsung芯片为例) 2.1.要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式: Arm处理器有七种工作模式,为的是形成不同 ...
- 最基础的PHP分类查询程序
最初级的PHP分类查询程序 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- Windows平台安装最新OpenCV-2.4.9,利用Eclipse、MinGW构建C++调用OpenCV开发环境
近期电脑重装系统了,第一件事重装OpenCV. 这次直接装最新版,2014-4-25日公布的OpenCV2.4.9版本号,下载链接: http://sourceforge.net/projects/o ...
- Android无线测试之—UiAutomator UiCollection API介绍
UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...
- Hadoop格式化HDFS报错java.net.UnknownHostException: centos64
异常描述 在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop na ...