APP的启动

在iOS中,讨论的APP的启动可以分为2种:

  • 冷启动(Cold Launch) :从零开始启动APP
  • 热启动(Warm Launch) :APP已经在内存中,在后台存活着,再次点击图标启动APP
  • 主要是针对冷启动进行的优化。

 

iOS

主要分为三个阶段:

  • main() 函数执行前(pre-main阶段)
  • main() 函数执行后(从main函数执行,到设置self.window.rootViewController执行完成)
  • 首屏渲染完成后(从self.window.rootViewControllerå执行完成到didFinishLaunchWithOptions方法作用域结束)

 

iOS启动时间测试

启动监测

我们可以通过Xcode打印分析启动过程:

  • 通过Xcode添加环境变量可以打印出APP的启动时间分析

  • 找到路径:Edit scheme -> Run -> Arguments -> Environment Variables

  • 添加:DYLD_PRINT_STATISTICS,设置为1

  • 然后运行程序,可以看到控制台的打印如下

 

从Xcode菜单启动Instruments

  • 打开Xcode。

  • 选择:Xcode > Open Developer Tool > Instruments。

  • App Launch可以检查安装在手机上的Debug的App,选择好对应的项目

  • 结果如下,可以看到紫色、绿色、蓝色的色块,分别对应了不同的阶段

  • 紫色 Initialize相关

  • 绿色 Launch 相关

  • 蓝色 应用已激活

  • 灰色 没有该App的执行工作

  • 橙色 被更高级别的线程打断

  • 红色 因为缺少CPU资源而没有执行

  • 查看下面更详细的统计信息

版权声明:本文为青山原原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/QingshanY/p/16886435.html