iOS 启动优化测试

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资源而没有执行

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

posted @ 2022-11-13 17:45  青山原  阅读(105)  评论(0编辑  收藏  举报