1、程序的五种状态
Not Running:未运行。
Inactive:前台非活动状态。处于前台,但是不能接受事件处理。
Active:前台活动状态。 处于前台,能接受事件处理。
Background:后台状态。进入后台,如果又可执行代码,会执行代码,代码执行完毕,程序进行挂起。
Suspended:挂起状态。进入后台,不能执行代码,如果内存不足,程序会被杀死。
2、五态的关系
Not Running:未运行。
Inactive:前台非活动状态。处于前台,但是不能接受事件处理。
Active:前台活动状态。 处于前台,能接受事件处理。
Background:后台状态。进入后台,如果又可执行代码,会执行代码,代码执行完毕,程序进行挂起。
Suspended:挂起状态。进入后台,不能执行代码,如果内存不足,程序会被杀死。
2、五态的关系

3、AppDelegate中的回调方法和通知
(1)回调方法:application:didFinishLaunchingWithOptions:
本地通知:UIApplicationDidFinishLaunchingNotification
触发时机:程序启动并进行初始化的时候后。
适宜操作:这个阶段应该进行根视图的创建。
(2)回调方法: applicationDidBecomeActive:
本地通知:UIApplicationDidBecomeActiveNotification
触发时机:程序进入前台并处于活动状态时调用。
适宜操作: 这个阶段应该恢复UI状态(例如游戏状态)。
(3)回调方法: applicationWillResignActive:
本地通知:UIApplicationWillResignActiveNotification
触发时机:从活动状态进入非活动状态。
适宜操作: 这个阶段应该保存UI状态(例如游戏状态)。
(4)回调方法: applicationDidEnterBackground:
本地通知:UIApplicationDidEnterBackgroundNo
(1)回调方法:application:didFinishLaunchingWithOptions:
本地通知:UIApplicationDidFinishLaunchingNotification
触发时机:程序启动并进行初始化的时候后。
适宜操作:这个阶段应该进行根视图的创建。
(2)回调方法: applicationDidBecomeActive:
本地通知:UIApplicationDidBecomeActiveNotification
触发时机:程序进入前台并处于活动状态时调用。
适宜操作: 这个阶段应该恢复UI状态(例如游戏状态)。
(3)回调方法: applicationWillResignActive:
本地通知:UIApplicationWillResignActiveNotification
触发时机:从活动状态进入非活动状态。
适宜操作: 这个阶段应该保存UI状态(例如游戏状态)。
(4)回调方法: applicationDidEnterBackground: