iOS应用的程序状态
正常启动一个app时
- not running: app未启动时处于未运行状态
- inactive: 启动app后进入未激活状态- application:willFinishLaunchingWithOptions: 应用启动未进入状态保存的回调
- application:didFinishLaunchingWithOptions: 基本的准备已经完成,可以启动的回调
 
- active: 激活状态- applicationDidBecomeActive: app已经切换到active状态后的回调
 
切换到后台再切换到前台
- active -> inactive- applicationWillResignActive: app将要从前台切换到后台的回调
 
- background: 后台状态- applicationDidEnterBackground: app已经进入后台的回调
 
- inactive -> active- applicationWillEnterForeground: app将要从后台切换到前台的回调
- applicationDidBecomeActive: app已经切换到active状态后的回调
 
来回切换应用/锁屏解锁
- 换到另一个app/锁屏:由状态active切换到inactive,此时调用applicationWillResignActive
- 换到此app/解锁:由状态inactive切换到running,此时调用applicationDidEnterBackground
应用终止
- applicationWillTerminate: app将要结束时的回调
使用应用状态的回调
在AppDelegate中使用
| 1 | - (void)applicationDidEnterBackground:(UIApplication *)application { | 
使用通知
| 1 | [[NSNotificationCenter defaultCenter]addObserver:self | 
 
            