iOS开发:后台运行以及保持程序在后台长时间运行
第一部分 1.先说说iOS 应用程序5个状态: 停止运行-应用程序已经终止,或者还未启动。 不活动-应用程序处于前台但不再接收事件(例如,用户在app处于活动时锁住了设备)。 活动-app处于“使用中”的状态。 后台-app不再屏幕上显示,但它仍然执行代码。 挂起-app仍然驻留内存但不再执行代码。 按下Home键时,app从活动状态转入后台,绝大部分app通常在几秒内就从后台变成了挂起。 在内存吃紧的时候,iphone会首先关闭那些挂起的app。 从 iOS 4 开始,应用就可以在退到后台后,继续运行一小段时间(10 分钟); 2.还可以把自己声明为需要在后台运行,就能不限时地运行了。 不过限制为播放音乐、使用 GPS 、voip、。 值得一提的是,有的应用为了达到后台不限时运行的目的,在后台播放无声的音乐(审核不一定会被发现)。 iOS 5 开始又多了一种类型:下载报刊杂志。 然后 iOS 7 则可以下载各种玩意和定时抓取。 iOS 7 需要注意的区别:iOS 7 以前,应用进入后台继续运行时,如果用户锁屏了,那么 iOS 会等待应用运行完,才进入睡眠状态。而在 iOS 7 上,系统会很快进入睡眠状态,那些后台应用也就暂停了。如果收到事件被唤醒(例如定时事件、推送、位置更新等),后台应用才能继续运行一会。因为处理过程变成了断断续续的,因此下载时也要使用 NSURLSession