ios 程序分为5个状态 :
Not running(未运行):程序未启动
Inactive(未激活):其他两个状态切换时出现的短暂状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时?或者系统提示用户去响应Alert窗口(如来电、信息)时
Active(激活):在屏幕上显示的正常运行状态,该状态下可以接收用户输入并更新显示
Backgroud(后台):程序在后台且能执行代码。用户按下Home键不久后进入此状态(先进入了Inactive状态,再进入Background状态),然后会迅速进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态
Suspended(挂起):程序在后台不能执行代码。普通程序在进入Background状态不久后就会进入此状态。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存
程序启动的时候会调用 - (BOOL)application:(UIApplication *)application 和applicationDidBecomeActive:(UIApplication *)application方法
程序进入未激活状态,比如接电话 applicationWillResignActive:(UIApplication *)application
程序安home键进入后台的时候会applicationWillResignActive:(UIApplication *)application 和applicationDidEnterBackground:(UIApplication *)application 再进日程序会调用applicationWillEnterForeground:(UIApplication *)application 和applicationDidBecomeActive:(UIApplication *)application 方法
程序退出的时候回调用applicationWillResignActive:(UIApplication *)application 和applicationWillTerminate:(UIApplication *)application