美文网首页
应用程序启动流程

应用程序启动流程

作者: PlatonsDream | 来源:发表于2016-06-27 17:24 被阅读23次
    应用程序启动流程.jpg
    任何一个程序,无论是基于mac OS 还是iOS,程序都是从Main.m文件的main函数开始执行的。
    UIApplocationMain在程序入口函数main函数中调用,主要实现了3个功能:
    1:创建应用程序(UIApplication)实例
    2:创建应用程序代理(ApDelegate)实例
    3:建立事件循环(runloop:死循环,不断检测程序运行状态,是够被触摸、晃动等)
    UIApplicationDelegate的代理方法
    pragma mark 程序加载完毕(启动完毕)就会调用一次
    //告诉delegate程序启动即将完成,程序准备要运行。(delegate实现这个方式时,要创建window对象,将程序内容通过window呈献给用户)
    (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions

    pragma mark 应用程序失去焦点的时候调用(一个app如果失去焦点,就不能跟用户进行交互)
    //告诉delegate应用程序即将进入非活跃状态(暂停游戏、停止timer等)
    (void)applicationWillResignActive:(UIApplication *)application

    pragma mark 程序进入后台就会调用
    //告诉delegate应用程序已经进入到了后台(存储用户数据、释放一些公共资源、停止timer等)
    (void)applicationDidEnterBackground:(UIApplication *)application

    pragma mark 程序即将进入前台的时候调用
    //告诉delegate应用程序即将进入前台(恢复所有进入后台暂停的服务)
    (void)applicationWillEnterForeground:(UIApplication *)application

    pragma mark 应用程序获得焦点的时候调用(一个app只有获得焦点之后才能跟用户进行交互)
    //告诉delegate应用程序即将进入活跃状态(从新执行被暂停的服务)
    (void)applicationDidBecomeActive:(UIApplication *)application

    pragma mark 程序即将被关闭的时候可能会被调用(应用程序即将退出,从内存中清除,iOS4之后有applicationDidEnterBackground:替代)
    (void)applicationWillTerminate:(UIApplication *)application

    pragma mark 程序接收到内存警告都会调用
    (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

    相关文章

      网友评论

          本文标题:应用程序启动流程

          本文链接:https://www.haomeiwen.com/subject/jlgzdttx.html