iOS生命周期

iOS生命周期:
1.应用程序的状态:
状态如下:
Not running: 未运行 程序没有启动
inactive 未激活 程序在前台运行,没有接受到事件。在没有接受事件的处理下程序一般停留在这个状态
Active 激活 程序在前台运行,并接受事件 这也是前台的一个正常模式
background 后台,程序在后台并执行代码 大多数程序进入这个状态后会在这个状态停留一会,等时间到了进入挂起状态。
(有的程序做过特殊处理 长期处在这个状态)
Suspended 挂起 程序在后台不执行代码。系统会自动把程序变成这个状态并不会发出通知。程序还是会停留在内存当中,当系统内存低时,系统会把挂起的程序清除掉,为前台程序提供更多的内存。

各个程序运行状态时代理的回调:
- (BOOL)application:(UIApplication )application willFinishLaunchingWithOptions:(NSDictionary )launchOptions
告诉代理进程启动但还没进入状态保存
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
代理启动基本完成程序准备开始运行
- (void)applicationWillResignActive:(UIApplication *)application
当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
- (void)applicationDidBecomeActive:(UIApplication *)application
当应用程序进入活动状态执行
- (void)applicationDidEnterBackground:(UIApplication *)application
当应用程序进入后台的时候调用 所以要后台继续运行,在这个方法里面执行就可以
- (void)applicationWillEnterForeground:(UIApplication *)application
当程序从后台重新回到前台的时候调用
- (void)applicationWillTerminate:(UIApplication *)application
当程序要退出时被调用,通常是用来保存数据和清除一些退出前清理的工作,这个需要要设置UIApplicationExitsOnSuspend的键值
- (void)applicationDidFinishLaunching:(UIApplication*)application
程序载入后执行

在上面8个方法对应的方法中键入NSLog打印。
现在启动程序看看执行的顺序:
启动程序
willFinishLaunchingWithOptions
didFinishLaunchingWithOptions
applicationDidBecomeActive
按下home键
applicationWillResignActive
applicationDidEnterBackground
双击home键,再打开程序
applicationWillEnterForeground
applicationDidBecomeActive

你可能感兴趣的:(ios,生命周期)