众所周知 当你启动程序的时候 程序首先进入AppDelegate.m中
之后就是application的生命周期了
1.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
当应用程序启动时执行,只在应用程序启动时执行一次。
若用户直接启动,launchOptions中没有数据,若通过其它方式启动应用,launchOptions包含对应的内容。
2.- (void)applicationWillResignActive:(UIApplication *)application
在应用程序将要由活动状态切换到非活动状态时候,要执行的委托调用,
如 :按下Home 按钮 返回主屏幕 或全屏之间切换应用程序等。
3.- (void)applicationDidEnterBackground:(UIApplication *)application
在应用程序已进入后台程序时, 要执行的委托调用
4.- (void)applicationWillEnterForeground:(UIApplication *)application
在应用程序将要进入前台时(被激活),要执行的委托调用,刚好和applicationWillResignActive方法相对应。
5.- (void)applicationDidBecomeActive:(UIApplication *)application
在应用程序已被激活后,要执行的委托调用,刚好与applicationDidEnterBackground方法相对应。
6.- (void)applicationWillTerminate:(UIApplication *)application
在应用程序完全退出的时候,要执行的委托调用。这个需要设置UIapplicationExitsOnSuspend的值
初次启动执行顺序为
1. didFinishLaunchingWithOptions (1)第一次执行时进入
2.applicationDidBecomeActive (5)程序已被激活
按下Home键:
3.applicationWillResignActive (2)由激活状态切换到非活动状态
4.applicationDidEnterBackground (3)程序已经进入后台
点击程序图标进入:
5.applicationWillEnterForeground (4)程序将要进入前台(被激活)
6.applicationDidBecomeActive (5)程序已被激活