iOS 应用程序生命周期个人总结

一、应用程序状态
not running 未运行 程序未启动
inactive 未激活 程序在前台运行,但没有接收事件,处于休眠状态
active 激活 程序在前台运行,接收到了事件。
background 后台 程序在后台而且能执行代码,只会停留一段时间
suspended 挂起 程序在后台不能执行代码

二、程序运行状态代理的回调
1、进程启动 但还没进入状态保存

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

2、启动基本完成 程序准备开始运行

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

3、程序准备进入非活动状态,在此期间,应用程序不接收消息或事件,比如来电话了

- (void)applicationWillResignActive:(UIApplication *)application

4、程序准备进入活动状态

- (void)applicationDidBecomeActive:(UIApplication *)application

5、程序被推送到后台调用,可能有几秒给你处理未完成程序

- (void)applicationDidEnterBackground:(UIApplication *)application

6、程序从后台将要重新回到前台的时候调用

- (void)applicationWillEnterForeground:(UIApplication *)application

7、当程序将要推出时候调用,通常是用来保存数据和一些退出前的清理工作,这个需要设置UIApplicationExitsOnSuspend的键值。

- (void)applicationWillTerminate:(UIApplication *)application

8、程序载入后执行

- (void)applicationDidFinishLaunching:(UIApplication*)application

现在启动程序看看执行的顺序:

启动程序
willFinishLaunchingWithOptions
didFinishLaunchingWithOptions
applicationDidBecomeActive
按下home键

applicationWillResignActive
applicationDidEnterBackground
双击home键,再打开程序

applicationWillEnterForeground
applicationDidBecomeActive

你可能感兴趣的:(iOS 应用程序生命周期个人总结)