Vickate_关于UIApplication Delegate

2017-05-09  本文已影响0人  Vickate

所有的移动操作系统都有个致命的缺点:app很容易受到打扰。比如一个来电或者锁屏会导致app进入后台甚至被终止。

在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件。

代理方法:

1、当应用程序启动完毕的时候就会调用(系统自动调用)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"didFinishLaunchingWithOptions");
    returnYES;
}

2、重新获取焦点(能够和用户交互)

 - (void)applicationDidBecomeActive:(UIApplication *)application {
    NSLog(@"BecomeActive");
 }

3、即将失去活动状态的时候调用(失去焦点, 不可交互)

- (void)applicationWillResignActive:(UIApplication *)application {
    NSLog(@"WillResignActive");
}

4、应用程序进入后台的时候调用

//  一般在该方法中保存应用程序的数据, 以及状态
- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSLog(@"Background");
}

5、应用程序即将进入前台的时候调用

 // 一般在该方法中恢复应用程序的数据,以及状态
- (void)applicationWillEnterForeground:(UIApplication *)application {
     NSLog(@"Foreground");
 }

6、应用程序即将被销毁的时候会调用该方法

 // 注意:如果应用程序处于挂起状态的时候无法调用该方法
 - (void)applicationWillTerminate:(UIApplication *)application  {
    NSLog(@"Terminate");
 }

7、应用程序接收到内存警告的时候就会调用

 // 一般在该方法中释放掉不需要的内存
 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
     NSLog(@"MemoryWarning");
 }
上一篇下一篇

猜你喜欢

热点阅读