TA(App总启动时间) = T1(main()之前的加载时间 进程构建时间) + T2(main()之后的加载时间 运行环境准备时间) +T3(首页数据加载+闪屏页数据同步) 应用时间

https://juejin.cn/post/6844903966329798669

 

cpu 耗时,IO 耗时

 

https://www.cnblogs.com/zyzmlc/p/14080984.html

2.2 main函数后

main函数阶段的优化建议主要有以下几点:

在main函数之后的didFinishLaunching方法中,主要是执行了各种业务,有很多并不是必须在这里立即执行的,这种业务我们可以采取延迟加载,防止影响启动时间。

1:业务层面:

  • 减少启动初始化的流程,能懒加载的懒加载,能延迟的延迟,能放后台初始化的放后台,尽量不要占用主线程的启动时间

  • 优化代码逻辑,去除非必须的代码逻辑,减少每个流程的消耗时间

  • 启动阶段能使用多线程来初始化的,就使用多线程

  • 尽量使用纯代码来进行UI框架的搭建,尤其是主UI框架,例如UITabBarController。尽量避免使用Xib或者SB,相比纯代码而言,这种更耗时

  • 删除废弃类、方法

2:技术层面

    • 1.二进制重排
      (重排的是编译阶段文件顺序减少启动时刻,硬盘内存作次数
posted @ 2021-05-07 00:15  zzfx  阅读(120)  评论(0编辑  收藏  举报