UIApplication 生命周期

    通过代理类AppDelegate来进行管理生命周期。

   

//
//  AppDelegate.m
//  AppUI组件学习
//
//  Created by 麦子 on 15/6/14.
//  Copyright (c) 2015年 麦子. All rights reserved.
//

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate

#pragma mark   初始化数据,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    CGRect  rect = [[UIScreen mainScreen]bounds];
    self.window = [[UIWindow alloc] initWithFrame:rect];
    self.window.backgroundColor = [UIColor yellowColor];
    [self.window makeKeyAndVisible];
    NSLog(@"数据初始化成功。。。。。。只会执行一次");
    return YES;
}


#pragma mark  将要进入后台。 
//暂时进入后台, 如:来电话了,按住home键进入后台。
- (void)applicationWillResignActive:(UIApplication *)application {
    
    NSLog(@"程序可能被一个电话,将要进入了后台。。。作用:对进入后台的时候,保存一些数据。");
}

#pragma mark  已经进入了后台
- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSLog(@"程序已经进入后台。。。。。");
}

#pragma mark  退出后台,进入前台。

//  applicationWillEnterForeground:只有当程序从后台返回到前台这一种情况下才会被调用;而applicationDidBecomeActive:除了从后台返回前台时被调用,还会在程序运行在前台时也被调用(例如之前提到的收到来电提醒后取消接听,双击home键后依旧返回当前app等操作)。所以applicationWillEnterForeground:适合处理那种加载前只需要执行一次的初始化。

- (void)applicationWillEnterForeground:(UIApplication *)application {
    NSLog(@"程序将要进入前端----这个只从后台进入前台的时候才调用");
}

#pragma mark  将要进入前台
- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSLog(@"程序重新进入前端------作用:数据可以开始恢复");
}



#pragma mark 应用程序退出
//这个方法通常是用来保存数据和一些退出前的清理工作,
- (void)applicationWillTerminate:(UIApplication *)application {
    NSLog(@"程序退出,需要记录一些数据");
}

@end
运行结果如下:

   

2015-06-14 11:16:02.119 AppUI组件学习[1157:42479] 数据初始化成功。。。。。。只会执行一次

2015-06-14 11:16:02.121 AppUI组件学习[1157:42479] Application windows are expected to have a root view controller at the end of application launch

2015-06-14 11:16:02.138 AppUI组件学习[1157:42479] 程序重新进入前端------作用:数据可以开始恢复


按下home键后:
  

2015-06-14 11:19:53.982 AppUI组件学习[1157:42479] 程序可能被一个电话,将要进入了后台。。。作用:对进入后台的时候,保存一些数据。

2015-06-14 11:19:54.518 AppUI组件学习[1157:42479] 程序已经进入后台。。。。。


重新打开程序:

    

2015-06-14 11:20:38.757 AppUI组件学习[1157:42479] 程序将要进入前端----这个只从后台进入前台的时候才调用

2015-06-14 11:20:39.293 AppUI组件学习[1157:42479] 程序重新进入前端------作用:数据可以开始恢复





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值