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->三选 ...
随机推荐
- win 7和虚拟机之间ping
虚拟机的网卡和真实机的IP设为同一网段.用ping检查是否通,通了后用工具连接ssh看能否登录!如果成功的话winscp应该就能用了.如果不同就要就检查防火墙看是否开放了22端口,没有的话就要开放一下 ...
- quick-cocos2d-x 创建自定义lua绑定c++类
内容主要参考 “在quick-cocos2d-x中添加自定义的类给lua使用” ( http://www.codeo4.cn/archives/746) 1. quick-coco2d-x 使用 to ...
- 【iOS越狱开发】如何将应用打包成.ipa文件
在项目开发中,我们常常需要将工程文件打包成.ipa文件,提供给越狱的iphone安装. 下面是一种方法: 1.首先应该给工程安装好配置文件(这里不再敖述),在ios device的状态下,运行成功. ...
- visitor设计模式记录
数据类型通过枚举来区分是一种简单实用的做法. 缺点是使用的时候需要通过if .switch 去判断什么类型执行什么分支操作,说是缺点其实也要看具体场景.不过如果if代码多会导致代码很长是肯定的. 复杂 ...
- windows下搭建ffmpeg+nginx+rtmp-module搭建实时视频环境
下载ffmpeg的Windows静态版: https://ffmpeg.zeranoe.com/builds/win64/static/下载nginx-rtmp-windows版:https://gi ...
- Adversarial Training
原于2018年1月在实验室组会上做的分享,今天分享给大家,希望对大家科研有所帮助. 今天给大家分享一下对抗训练(Adversarial Training,AT). 为何要选择这个主题呢? 我们从上图的 ...
- MathType与Origin是怎么兼容的
MathType作为一款常用的公式编辑器,可以与很多的软件兼容使用.Origin虽然是一款专业绘图与数据分析软件,但是在使用过程中也是可以用到MathType.它可以帮助Origin给图表加上标签,或 ...
- Delphi MessageBox
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话 ...
- 【BZOJ4378】[POI2015]Logistyka 树状数组
[BZOJ4378][POI2015]Logistyka Description 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这 ...
- [hihoCoder] KMP算法
Each time we find a match, increase the global counter by 1. For KMP, algorithm, you may refer to th ...