iOS 应用生命周期

来源:互联网 发布:师范 校园网络电视 编辑:程序博客网 时间:2024/05/17 06:21
    应用生命周期 作为应用程序的委托对象,Appdelegate类在应用生命周期的不同阶段会回调不同方法。 此类本身没有任何功能代码,它的作用是实现了UIApplcation和iOS操作系统之间的协议。该协议的方法就对应UIApplication在操作系统中的各个状态,如:运行时,进入后台,进入前台,被打断,收到本地或远程通知 介绍一些iOS应用的5种状态 Not Running(非运行状态)     应用没有运行或被系统终止 Inactive(前台非活跃状态)     应用正在进入前台状态,但是还不能接收事件处理 Active(前台活跃状态)         应用进入前台状态,能接收事件处理 Background(后台状态)        应用进入后台,依然能执行低吗。如果有可执行的代码,就会执行代码,如果没有可执行的代码或者可执行的代码将执行完毕,应用会马上进入挂起状态 Suspended(挂起状态)        处于挂起的应用进入一种"冷冻"状态,不能执行代码。如果内存不足,应用会被终止。

AppDelegate对象方法

//应用启动并进行初始化的时候调用该方法并发出通知。这个阶段会初始化根视图控制器- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    NSLog(@"应用启动并进行初始化");    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];    self.window.backgroundColor = [UIColor greenColor];    //这个是便捷方法,去使被使用对象的主窗口显示到屏幕的最前端    [self.window makeKeyAndVisible];//    如果这样写,那么我们需要给self.window一个rootViewController    self.window.rootViewController = [[ViewController alloc]init];//    self.window.rootViewController = [[ARootViewController alloc]init];//    self.window.rootViewController = [[BRootViewController alloc] initWithNibName:@"BRootViewController" bundle:[NSBundle mainBundle]];    return YES;}//应用从活跃状态进入到非活跃状态时调用该方法并发出通知。这个阶段可以保存UI状态- (void)applicationWillResignActive:(UIApplication *)application {    NSLog(@"应用从活跃状态进入到非活跃状态");}//应用进入后台时调用该方法并发出通知。这个阶段可以保存用户数据,释放一些资源。- (void)applicationDidEnterBackground:(UIApplication *)application {    NSLog(@"应用进入后台");}//应用进入前台,但是还没有处于活跃状态时调用该方法并发出通知。这个阶段可以恢复用户数据- (void)applicationWillEnterForeground:(UIApplication *)application {    NSLog(@"应用将要进入前台");}//应用进入前台并处于活跃动态时调用该方法并发出通知。着个阶段可以保存UI状态- (void)applicationDidBecomeActive:(UIApplication *)application {    NSLog(@"应用已经进入活动状态");}//应用被终止时调用该方法并发出通知,但内存清除时除外。这个阶段释放一些资源,也可以保存用户数据- (void)applicationWillTerminate:(UIApplication *)application {    NSLog(@"应用被终止");}

APP启动加载

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    // 设置window属性(iOS应用必须有一个主窗口UIWindow),初始化windows的大小和位置    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    // 设置window的背景    self.window.backgroundColor = [UIColor whiteColor];    // 初始化KCMainViewController    ViewController *viewController = [[ViewController alloc]init];    // 带xib 文件的初始化方式    //    self.window.rootViewController = [[BRootViewController alloc] initWithNibName:@"BRootViewController" bundle:[NSBundle mainBundle]];    // 设置自定义控制器的大小和window相同,位置为(0,0)    viewController.view.frame = self.window.bounds;    // 设置此控制器为window的根控制器,UIWindown必须有根控制器    self.window.rootViewController = viewController;    // 设置window为应用程序主窗口并设为可见    [self.window makeKeyAndVisible];    return YES;}

UIApplication常用属性和方法

# 属性// 显示应用图标右上角数字application.applicationBadgeNumber = 8;// 设置状态栏样式application.statusBarStyle = UIStatusBarStyleBlackOpaque;// 显示或隐藏状态栏application.statusBarHidden = YES;// 状态栏网络请求状态application.networkActivityIndicatorVisible = YES;# 方法// 用默认浏览器打开网页[application openURL:[NSURL urlWithString:@"http://www.baidu.com"]];// 打电话[application openURL:[NSURL urlWithString:@"tel://xxxxxxxxx"]];// 发短信[application openURL:[NSURL urlWithString:@"sms://xxxxxxxxx"]];
0 0
原创粉丝点击