今天因项目需求:软件在后台倒计时,结束后跳到B界面,简单的了解了一下,程序进入后台的几种方法和程序的几种状态

一 程序的几种状态

停止运行-应用程序已经终止(从任务管理器中移除),或者还未启动。

不活动-应用程序处于前台但不再接收事件(例如:锁住了设备,接电话)。

活动-app处于“使用中”的状态。

后台-app不再屏幕上显示,但它仍然执行代码。

挂起-app仍然驻留内存但不再执行代码。

按下Home键时,app从活动状态转入后台,绝大部分app通常在几秒内就从后台变成了挂起。

二 后台几种方法


上面我们知道了程序的几种状态,我们要讲挂起的程序,进入后台,官方给出了以下几种方法



Background Modes



分别对应:后台音频;后台定位;后台语音服务;下载更新;Background Task  Completion(这个待会单独说下);使用蓝牙;作为蓝牙对象;后台信息更新;消息推送;

Background Task  Completion:这个接口早在iOS 4时候便拥有,其可以供任意类型的APP使用,不过在旧系统中,这个接口的后台限制运行时间仅为10分钟,意味着当应用退至后台,其后台运行仅能持续10分钟便会转至休眠状态。iOS 7中对这个接口作出了改变,原来的为连续10分钟,即不论你这10分钟内用户是否关闭屏幕进入休眠状态,应用仍然会在后台等待10分钟完结后推出,而新的改进为假如遇到关闭屏幕休眠的情况,这后台运行的10分钟便会跟随一同休眠,剩余的后台时间将会留待用户再一次唤醒设备才计算。这样后台运行的时间仍然为10分钟,但并不连续,这样做的优点为省电。

三 解决方法

方法1: 用后台播放音频的方法,如果没有这个需求但是又想用这个方法,可以播放无声的音乐!

头文件:



头文件



背景音频方法



并没有详细介绍网络视频的使用方法,包括,上一首,下一首,毕竟主题是介绍程序进入后台

方法二    后台定位



后台定位



然后------



勾选对应的方法



最后------



plist添加



plist添加一个数组名为:Required background modes 数组元素添加对应的描述

方法一:App plays audio or streams audio/video using AirPlay

方法二:App registers for location updates



目前看了下这两个,都比较简单,后期用到其他的会继续更新,如果有什么不足的地方,欢迎大家指正!

       编程是一条漫长的道路,前进的路上有你会更佳精彩,谢谢大家!