• AppDelegate生命周期详解


    #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-获取焦点

  • 相关阅读:
    netcore保持活动状态超时设置
    使用 .net core 自定义项目模板
    Prometheus(普罗米修斯)——适合k8s和docker的监控系统
    移动端调试神器vConsole--腾讯的
    .netcore项目部署到linux的docker里后,速度异常的慢
    GIT删除本地tag和远程tag
    .netcore里使用StackExchange.Redis TimeOut 情况解决方法
    asp.netcore Log4Net连接kafka的方法
    asp.netcore 高并发下使用HttpClient的方法
    [离散时间信号处理学习笔记] 7. z变换
  • 原文地址:https://www.cnblogs.com/pjl111/p/4195661.html
Copyright © 2020-2023  润新知