AppDelegate生命周期详解
2016-05-23 15:41
417 查看
#pragma mark 在应用程序加载完毕之后调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"didFinishLaunchingWithOptions-加载完毕");
// 初始化一个窗口
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// 传入xib文件名来初始化一个控制器
self.viewController = [[[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil] autorelease];
// 设置窗口的根控制器
self.window.rootViewController = self.viewController;
// 上面的代码内部执行了下面代码的操作
// [self.window addSubview:self.viewController.view];
// 窗口不会默认显示,需要调用方法来显示
// keyWindow是主窗口,只有主窗口才能跟用户正常交互
[self.window makeKeyAndVisible];
// self.window.hidden = NO;
return YES;
}
#pragma mark 程序失去焦点的时候调用(不能跟用户进行交互了)
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"applicationWillResignActive-失去焦点");
}
#pragma mark 当应用程序进入后台的时候调用(点击HOME键)
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"applicationDidEnterBackground-进入后台");
}
#pragma mark 当应用程序进入前台的时候调用
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"applicationWillEnterForeground-进入前台");
}
#pragma mark 当应用程序获取焦点的时候调用
// 获取焦点之后才可以跟用户进行交互
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"applicationDidBecomeActive-获取焦点");
}
#pragma mark 程序在某些情况下被终结时会调用这个方法
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"applicationWillTerminate-被关闭");
}
项目启动后:
第一个iOS程序[517:c07]
didFinishLaunchingWithOptions-加载完毕
第一个iOS程序[517:c07]
applicationDidBecomeActive-获取焦点
按下home键:
第一个iOS程序[517:c07]
applicationWillResignActive-失去焦点
第一个iOS程序[517:c07]
applicationDidEnterBackground-进入后台
再按程序:
第一个iOS程序[517:c07]
applicationWillEnterForeground-进入前台
第一个iOS程序[517:c07]
applicationDidBecomeActive-获取焦点
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"didFinishLaunchingWithOptions-加载完毕");
// 初始化一个窗口
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// 传入xib文件名来初始化一个控制器
self.viewController = [[[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil] autorelease];
// 设置窗口的根控制器
self.window.rootViewController = self.viewController;
// 上面的代码内部执行了下面代码的操作
// [self.window addSubview:self.viewController.view];
// 窗口不会默认显示,需要调用方法来显示
// keyWindow是主窗口,只有主窗口才能跟用户正常交互
[self.window makeKeyAndVisible];
// self.window.hidden = NO;
return YES;
}
#pragma mark 程序失去焦点的时候调用(不能跟用户进行交互了)
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"applicationWillResignActive-失去焦点");
}
#pragma mark 当应用程序进入后台的时候调用(点击HOME键)
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"applicationDidEnterBackground-进入后台");
}
#pragma mark 当应用程序进入前台的时候调用
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"applicationWillEnterForeground-进入前台");
}
#pragma mark 当应用程序获取焦点的时候调用
// 获取焦点之后才可以跟用户进行交互
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"applicationDidBecomeActive-获取焦点");
}
#pragma mark 程序在某些情况下被终结时会调用这个方法
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"applicationWillTerminate-被关闭");
}
项目启动后:
第一个iOS程序[517:c07]
didFinishLaunchingWithOptions-加载完毕
第一个iOS程序[517:c07]
applicationDidBecomeActive-获取焦点
按下home键:
第一个iOS程序[517:c07]
applicationWillResignActive-失去焦点
第一个iOS程序[517:c07]
applicationDidEnterBackground-进入后台
再按程序:
第一个iOS程序[517:c07]
applicationWillEnterForeground-进入前台
第一个iOS程序[517:c07]
applicationDidBecomeActive-获取焦点
相关文章推荐
- ios Apple Watch人机交互指南
- iOS内存泄露的管理
- android activity的四种启动模式
- CodingNet - Learning - 4
- 008-实现Unity3d中使用LeanTouch插件进行触屏控制(拖拽、移动、缩放旋转...)
- Android自助餐之控件注解IOC
- SharedPreference.Editor的apply和commit方法异同
- 【iOS开发】GitLab教程 (二)
- android webview 二次验证流程分析 shouldOverrideUrlLoading深度分析
- App启动加载广告页面思路
- Android中使用jni进行本地开发
- fir.im Weekly - 从零开始创建 Android 新项目
- [Ruby笔记]11.Ruby == .equal? object .object_id .respond_to? .send()
- android 串口通信
- Cocos2d-x开发系列 iOS多Target方案
- Android中使用Dagger2进行依赖注入
- android(安卓)开源框架简介
- Android伪守护进程(通过AIDL实现)
- 《Motion Design for iOS》(二十)
- what the fragment