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->三选 ...
随机推荐
- ORACLE建立物化视图
--使用 on commit 的方式建立物化视图 create materialized view emp_dept refresh on commit as select t.*,d.dname f ...
- Android CoordinatorLayout 入门介绍
Android CoordinatorLayout 入门介绍 CoordinatorLayout View 知道如何表现 在 2015 年的 I/O 开发者大会上,Google 介绍了一个新的 And ...
- fiddler获取手机请求
最近由于项目的关系,一直在测试APP,但是比较令人头痛的问题就是,APP的测试没有办法像web的测试那样,可以直接的通过开发工具看到请求和响应,对于一些东西只能去看日志(比较麻烦),偶然间发现了fid ...
- bzoj2440 完全平方数 莫比乌斯值+容斥+二分
莫比乌斯值+容斥+二分 /** 题目:bzoj2440 完全平方数 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2440 题意:求第k个小x数 ...
- 动态添加js的方法
var Skip={};//获取XMLHttpRequest对象(提供客户端同http服务器通讯的协议)Skip.getXmlHttpRequest=function (){ if ( window. ...
- 第二百一十九节,jQuery EasyUI,DateTimeBox(日期时间输入框)组件
jQuery EasyUI,DateTimeBox(日期时间输入框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 DateTimeBox(日期时间输入框 ...
- Java语言中两种异常的差别
Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而 ...
- (转)memcache、redis缓存
memcache原理.内存模型: http://www.csdn.net/article/2016-03-16/2826609 redis原理: http://baike.baidu.com/link ...
- 【SR】正则化超分辨率复原
正则化超分辨率图像重建算法研究--中国科学技术大学 硕士学位论文--路庆春 最大后验概率(MAP)的含义就是在低分辨率图像序列已知的前提下,使高分辨率图像出现的概率达到最大.
- AutoMapper整理收集
http://www.cnblogs.com/jobs2/p/3503990.html http://www.cnblogs.com/1-2-3/p/AutoMapper-Best-Practice. ...