首页 > 代码库 > IOS应用程序生命周期

IOS应用程序生命周期

1、应用程序状态

1.1、Not running-未运行

程序没有启动

1.2、Inactive-未激活

程序在前台运行,不过没有接受到事件,在没有事件处理下程序同城停留在这个状态

1.3、Active-激活

程序在前台运行并且接受到了事件,这也是前台的一个正常的模式

1.4、Background-后台

程序在后台而且能执行代码,大多数程序进入这个状态后会在这个状态停留一会,时间到了之后会进入挂起状态,有的程序经过特殊的请求后可以长期处于Background状态

1.5、Suspended-挂起

程序在后台不能执行代码。系统会自动把程序变成这个状态而且不会发出通知。当挂时,程序还是停留在内存中的,当系统内存低时,系统会把挂起的程序清除掉,为前台程序提供更多的内存

2、生命周期方法

2.1、– application:willFinishLaunchingWithOptions:

告诉代理进程启动但还没进入状态保存

2.2、– application:didFinishLaunchingWithOptions:

告诉代理启动基本完成程序准备开始运行

2.3、– applicationDidBecomeActive:

当应用程序进入活动状态执行

2.4、– applicationWillResignActive:

当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话

2.5、– applicationDidEnterBackground:

当程序被推送到后台的时候调用

// 可以再block中开始后台任务

[application beginBackgroundTaskWithExpirationHandler:^{

       

        NSLog(@"begin Background Task With Expiration Handler");

       

}];

2.6、– applicationWillEnterForeground:

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

2.7、– applicationWillTerminate:

当程序将要退出是被调用

2.8、– applicationDidFinishLaunching:

This method is used in earlier versions of iOS to initialize the app and prepare it to run. In iOS 3.0 and later, you should use the application:didFinishLaunchingWithOptions: instead. In iOS 6.0 and later, you may also use the application:willFinishLaunchingWithOptions: method to initialize your app.

3、相关操作

3.1、程序启动

1、– application:willFinishLaunchingWithOptions:

2– application:didFinishLaunchingWithOptions:

3、– applicationDidBecomeActive:

3.2、进入后台

1、– applicationWillResignActive:

2、– applicationDidEnterBackground:

3.3、进入前台

1– applicationWillEnterForeground:

2、– applicationDidBecomeActive:

3.3、关闭程序

1、– applicationDidEnterBackground:

2、– applicationWillTerminate: