app的生命周期
2016-03-31 本文已影响50人
蓝苹果不是烂苹果
转自幻想乡的技术宅
app状态
- not running : 程序未启动
- inactive :程序在前台运行,但是没有接收到事件
- active : 程序在前台接收到事件
- background : 程序进入后台
- suspended : 挂起,程序在内存中,但是系统会随时清除应用
状态转换示意图
photoAppDelegate的代理回调
-
应用进入前台
1 -
应用进入后台
2 -
基于警告式响应中断
3
需要的操作:在applicationWillResignActive中
- 停止timer和其他周期性的任务
- 停止正在运行的请求
- 暂停视频播放
- 暂停游戏进行
- 减少OpenGL ES的帧率
- 挂起任何分发的队列和不重要的操作队列(你可以继续处理网络请求或其他时间敏感的后台任务)
注:当程序回到active,上述停止的任务重新开始(游戏任然暂停)
-
应用进入后台
4
需要的操作:保存用户数据或状态信息到磁盘
-
应用返回前台
5 - 程序终止
applicationWillTerminate:保存数据或状态
程序符合以下情况之一,只要进入后台或挂起就会终止- iOS4.0以前的系统
- APP是基于iOS4.0之前系统开发的
- 设备不支持多任务
- 在plist中包含了UIApplicationExitsOnSuspend键