应用程序的生命周期:appdelegate每个方法的介绍

一。appdelegate每个方法的简单介绍:
 
1、应用程序启动,并进行初始化时候调用该方法:aaaplication:didFimnishLanuchingWithOptions:
 
2、应用进入前台并处于活动状态时候调用:applicationDidBecomeActive:
 
3、应用从活动状态进入到非活动状态:applicationWillResignActive :
 
4、应用进入到后台时候调用的方法:applicationDidEnterBackground:
 
5、应用进入到前台时候调用的方法:appplicationWillEnterForeground:
 
6、applicationWillTeminate:应用被终止的状态:
 
二。配合场景,什么时候会调用上面的什么组合
 
第一种场景:程序开启,到能使用;
 
就是:没有运行(NOT RUNNING)------->没有激活(INACTIVE) ------>激活( ACTIVE)
这个过程会调用的方法和发出的通知有:
 
过程1:没有运行(NOT RUNNING)------->没有激活(INACTIVE);
这个过程会调用aaaplication:didFimnishLanuchingWithOptions:方法,发出UIApplicationDidFinishLaunchingNotification通知;
 
过程2:没有激活(INACTIVE) ------>激活( ACTIVE)
这个过程会调用applicationDidBecomeActive:方法,发出UIApplicationDidBecomeActiveNOtification通知;
附上一个简单的图:
总结:
1.从这个过程我们就知道,appdelegate的每个方法会对应一个通知,没当调用那个方法的时候,就会发出那个方法对应的通知;
2.下面的几个场景,我就不一一说明,直接贴图了;
3.再贴图之前,先把appdelegate每个方法对应的通知都贴出来;
方法 本地通知
aaaplication:didFimnishLanuchingWithOptions: UIApplicationDidFinishLaunchingNotification
applicationDidBecomeActive UIApplicationDidBecomeActiveNOtification
applicationWillResignActive  UIApplicationWillResignActiveNotification
applicationDidEnterBackground UIApplicationDidEnterBackgroundNotification
appplicationWillEnterForeground UIApplicationwillEnterForegroundNotification
applicationWillTeminate UIApplicationWillTeminateNotification
 
 
第二种场景:点击Home键---程序挂起或者进入后台;(一种是退到后台,没有退出程序;一种是退到后台,且退出程序)
这里分两种情况:
情况1:点击home键,退到后台挂起(默认情况);注意:挂起状态会占用内存;
 
情况2:点击home键之后,退到后台,直接终止;
注意:默认的情况下,程序进入后台是不会终止程序的;如果要做到可以退出程序,到plist文件修改一下的值:
找到Application does not run in backgroud设置为yes,在文件中保存的键应该是UIApplicationExitsOnSuspend设置为Yes。
 
第三种场景:挂起的程序重新运行
注意:application:didFinishLaunchingWithOptions:这个方法只会在程序初始化的时候才会被调用,而且只调用一次;
所以这里不会调用didFinishLaunchingWithOptions这个方法;
原文地址:https://www.cnblogs.com/williamliuwen/p/5366482.html