所有的移动操作系统都有个致命的缺点:app很容易受到打扰。 ⽐比如⼀一个来电或者锁屏会导致app进⼊入后台甚⾄至被终⽌止 还有很多其它类似的情况会导致app受到干扰,在app受到干扰时,会产⽣生⼀一些系统事件, 这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件
delegate可处理的事件包括: 应⽤用程序的⽣生命周期事件(如程序启动和关闭) 系统事件(如来电) 内存警告 ... UIApplication会在程序⼀一启动时候创建⼀一个遵守UIApplicationDelegate代理. 这个就是我们程序 在这个类中很定义很多监听系统事件的⽅方法.同时也定义了⼀一些应⽤用程序的⽣生命周期⽅方法. 主要⽅方法有: 应⽤用程序的⽣生命周期 应⽤
//用程序启动完成的时候调⽤用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions {
NSLog(@"%s",__func__);
return YES;
}
//当我们应⽤用程序即将失去焦点的时候调⽤用
- (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"%s",__func__);
}
//
当我们应⽤用程序完全进⼊入后台的时候调⽤用
- (void)applicationDidEnterBackground:(UIApplication *)application{ NSLog(@"%s",__func__);
}
//
当我们应⽤用程序即将进⼊入前台的时候调⽤用
- (void)applicationWillEnterForeground:(UIApplication *)application { NSLog(@"%s",__func__);}
//
当我们应⽤用程序完全获取焦点的时候调⽤用
只有当⼀一个应⽤用程序完全获取到焦点,才能与⽤用户交互.
- (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"%s",__func__);
}
//当我们应⽤用程序即将关闭的时候调⽤用
⼀一创建时的AppDelegate类.AppDelegate就是遵守了
UIApplicationDelegate协议.

- (void)applicationWillTerminate:(UIApplication *)application { NSLog(@"%s",__func__);
}