ios APP生命周期

not running — 没有启动app

inactive — app运行在前台,但是没有处理任何事件

active — app运行在前台,并且在处理事件

background — app运行在后台,还在内存中,并且执行代码

suspend — app还在内存中,但是不运行任何代码,如果内存不足,会自动kill掉

当一个APP启动的时候讲调用

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

{returnYES;

}

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

{//Override point for customization after application launch.returnYES;

}

这两个方法的作用几乎完全一样,只是执行顺序有先后。AppDelegate类默认出现的是application: didFinishLaunchingWithOptions:,一般情况下只需要处理这个方法就可以了。

如何两种方法都存在的话,必须设置返回值都为YES

launchOptions存储的是启动的类型

用户(点击icon)直接启动程序,launchOptions内无数据;

其它程序通过openURL:方式启动,则可以通过键UIApplicationLaunchOptionsURLKey来获取传递过来的url

由本地通知启动,则可以通过键UIApplicationLaunchOptionsLocalNotificationKey来获取本地通知对象(UILocalNotification)

由远程通知启动,则可以通过键UIApplicationLaunchOptionsRemoteNotificationKey来获取远程通知信息(NSDictionary)

启动阶段完成就进入运行阶段程序的状态为active

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