Monitoring App State Changes // 监控App状态改变
* – application:willFinishLaunchingWithOptions:
* – application:didFinishLaunchingWithOptions:
* – applicationDidBecomeActive:
* – applicationWillResignActive:
* – applicationDidEnterBackground:
* – applicationWillEnterForeground:
* – applicationWillTerminate:
* – applicationDidFinishLaunching:
/*! 1.
应用启动并进行初始化时会调用该方法并发出通知。UIApplicationDidFinishLaunchingNotification
这个阶段会实例化根视图控制器
*/
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
/*! 2.
应用进入前台并处于活动状态时调用该方法并发出通知。UIApplicationDidBecomeActiveNotification
这个阶段可以恢复UI的状态.
*/
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
/*! 3.
应用从活动状态进入到非活动状态时调用该方法并发出通知。UIApplicationWillResignActiveNotification
这个阶段可以保存UI的状态. 在4之前调用.
*/
- (void)applicationWillResignActive:(UIApplication *)application {
}
/*! 4.
应用进入后台时调用该方法并发出通知。UIApplicationDidEnterBackgroundNotification
这个阶段可以保存用户数据,释放放一些资源.
*/
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
/*! 5.
应用进入到前台,但是还没有处于活动状态时调用该方法并发出通知。UIApplicationWillEnterForegroundNotification
这个阶段可以恢复用户数据.
从后台重新进入前台,再2之前调用
*/
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
/*! 6.
应用将终止时调用该方法并发出通知,但内存清除时除外。UIApplicationWillTerminateNotification
这个阶段释放一些资源,也可以保存用户数据.
*/
- (void)applicationWillTerminate:(UIApplication *)application {
}
/** iOS应用的5种状态。
* Not Running(非运行状态)。应用没有运行或被系统终止。
* Inactive(前台非活动状态)。应用正在进入前台状态,但是还不能接受事件处理。
* Active(前台活动状态)。应用进入前台状态,能接受事件处理。
* Background(后台状态)。应用进入后台后,依然能够执行代码。如果有可执行的代码,就会执行代码,
如果没有可执行的代码或者将可执行的代码执行完毕,应用会马上进入入挂起状态。
* Suspended(挂起状态)。处于挂起的应用进入一种"冷冻"状态,不能执行代码。如果系统内存不够,
应用会被终止。
**/