zoukankan      html  css  js  c++  java
  • 应用程序App的启动过程

    应用程序App启动分两类:1. 有storyboard 2. 没有storyboard storyboard :
    有storyboard情况下

    1.执行 main 函数;

    2.执行UIApplicationMain函数

    * 创建UIApplication 对象;

    * 创建UIApplication 的 delegate 对象;

    (注: UIApplicationMain 函数的第三个参数就是 UIApplication 的名称,如果指定为 nil, 它会默认为 UIApplication, UIApplicationMain 函数的第四个参数就是 UIApplication 的代理 )

    3. 开启一个主运行循环,保证应用程序不会退出

    4. 根据 Info.plist 获得 Main.storyboard 的文件名, 加载 Main.storyboard(有storyboard的情况)

    * 创建UIWindow;

    * 创建和设置UIWindow 的 rootViewController

    * 显示窗口

    没有storyboard情况下 : 

    1.main 函数;

    2.UIApplicationMain

    * 创建UIApplication 对象;

    * 创建UIApplication 的 delegate 对象

     

    (注: UIApplicationMain 函数的第三个参数就是 UIApplication 的名称,如果指定为 nil, 它会默认为 UIApplication, UIApplicationMain 函数的第四个参数就是 UIApplication 的代理 )

     

    3. 开启一个主运行循环,保证应用程序不会退出

     

    3.delegate 对象开始处理(监听)系统事件 (没有storyboard的情况)

    * 程序启动完毕的时候,就会调用代理的 application:didFinishLaunchingWithOptions: 方法;
    * 在application:didFinishLaunchingWithOptions: 方法中创建UIWindow;
    * 创建和设置UIWindow 的 rootViewController;
    * 显示窗口;
     
    应用的生命周期 :   
    • -(BOOL)application:(UIApplication )application willFinishLaunchingWithOptions: (NSDictionary )launchOptions 告诉代理进程启动但还没进入状态保存

    • -(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions: (NSDictionary )launchOptions 告诉代理启动基本完成程序准备开始运行

    • -(void)applicationWillResignActive:(UIApplication *)application 当应用程序将要入非活 动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了

    • -(void)applicationDidBecomeActive:(UIApplication *)application 当应用程序入活动状态 执行,这个刚好跟上面那个方法相反

    • -(void)applicationDidEnterBackground:(UIApplication *)application 当程序被推送到后台 的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可

    • -(void)applicationWillEnterForeground:(UIApplication *)application 当程序从后台将要重 新回到前台时候调用,这个刚好跟上面的那个方法相反。

    • -(void)applicationWillTerminate:(UIApplication *)application 当程序将要退出是被调 用,通常是用来保存数据和一些退出前的清理工作。 

     
  • 相关阅读:
    用python2和python3伪装浏览器爬取网页
    详解python2 和 python3的区别[附实例]
    两种判断(抓取)网页编码的方法【python版】
    python用两种方法实现url短连接
    2013年1月编程语言排行榜榜单: ObjectiveC继续增长
    年初给力!教你自己动手做手机APP应用!!
    [原创]用python求第1000个质数的值
    linux下如何安装配置redis及主从配置
    第四次博客作业结对项目
    2sat的一些总结
  • 原文地址:https://www.cnblogs.com/wangliang2015/p/7051001.html
Copyright © 2011-2022 走看看