UIApplication 生命周期

来源:互联网 发布:数据文员主要做什么的 编辑:程序博客网 时间:2024/06/11 11:08

    通过代理类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