美文网首页
关于应用的启动顺序

关于应用的启动顺序

作者: singmiya | 来源:发表于2018-06-05 09:50 被阅读29次

【译】为避免撕逼,提前声明:本文纯属翻译,仅仅是为了学习,加上水平有限,见谅!

了解自定义代码在启动时候的执行顺序。

概述

启动应用涉及到了一个复杂的步骤顺序,它们大多数都由UIKit自动处理。在启动期间,UIKit调用应用委托的方法,这样你就可以执行自定义任务了。图1描述了应用从启动到初始化完成所发生的一系列步骤。


图1
  1. 启动应用,要么是用户显示的启动要么是系统隐式的启动。
  2. Xcode提供的main函数调用UIKit的UIApplicationMain函数。
  3. UIApplicationMain方法创建一个UIApplication对象和应用委托。
  4. UIKit从主storyboard或者nib文件加载应用的默认界面。
  5. UIKit调用应用委托的application:willFinishLaunchingWithOptions:方法。
  6. UIKit会调用应用委托和视图控制器的额外方法执行状态恢复。
  7. UIKit调用应用委托的application:didFinishLaunchingWithOptions:方法。

当初始化完成的时候,系统会让应用进入激活(foreground)状态或者后台状态。当应用进入激活状态的时候,它的窗口会出现在屏幕上并且它开始响应用户的交互。当应用进入后台状态的时候,它的窗口仍然隐藏并且它在挂起之前只运行较短的一段时间。

你的很多启动时初始化代码可能都是一样的,不管是应用启动进入前台还是后台。例如,你应该初始化应用的数据结构并设置应用的用户界面。然而,如果你只想在应用进入前台或后台的时候执行自定义代码,请检查UIApplication对象的applicationState属性。UIKit即将进入前台的应用把这个属性设置为UIApplicationStateInactive,把即将进入后台的应用的这个属性设置为UIApplicationStateBackground。

相关文章

  • 关于应用的启动顺序

    【译】为避免撕逼,提前声明:本文纯属翻译,仅仅是为了学习,加上水平有限,见谅! 了解自定义代码在启动时候的执行顺序...

  • Cordova那些事儿(三)——插件加载方式

    按照应用启动时,加载的顺序,描述下插件的加载方式。 一、应用启动应用启动时,插件的原生代码部分,已经在编译阶段编译...

  • SpringBoot Filter中注入Bean

    由于web应用启动的顺序顺序的原因(listener->filter->servlet),在Filter中注入Be...

  • 关于App的启动顺序

    前言:了解你的自定义代码在启动时的执行顺序 综述: 启动一个app涉及一系列复杂的步骤顺序,大部分步骤由UIKit...

  • 学习笔记--Launcher应用的桌面启动流程

    Launcher应用的桌面启动流程 注意事项写在前头: 本篇的阅读顺序为启动启动流程图--围绕启动流程图的源码分析...

  • android性能测试方案

    1.1 启动时间 关于应用的启动时间的测试,分为三类: 1.首次启动 --应用首次启动所花费的时间 2.非首次...

  • App启动优化

    1、冷启动/热启动 2、启动顺序 1.pre-main阶段 1.1.加载应用的可执行文件 1.2.加载动态链接库加...

  • 【JAVA】面试宝典

    ServletContext,Listener,Filter和自启动Servlet的执行顺序 应用上下文:即程序上...

  • 面试题(3)

    1,描述应用程序的启动顺序。 1、程序入口main函数创建UIApplication实例和UIApplicat...

  • ORACLE DG 主备库开启与关闭顺序

    oracleDG 启动和关闭顺序 启动顺序:先启动备库,后启动主库 关闭顺序:先关闭主库,后关闭备库 1、正确打开...

网友评论

      本文标题:关于应用的启动顺序

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