冷启动优化-01

2021-07-07  本文已影响0人  扫地僧练级

思路

两个阶段:
1、main之前preMain的时间优化(统计靠系统,因为启动时刻没法自己统计)
2、main之后到以第一个界面的时间优化(main到第一个界面的时间我们可以统计

首先统计preMain的时间:

检测preMain的时间,通过添加环境变量 DYLD_PRINT_STATISTICS

screenshot-20210330-164940.png

分析preMain:

screenshot-20210330-165821.png

preMain的过程:

  1. 动态库加载 dylib loading
  2. 偏移修正+符号绑定
  3. OC类的初始化
  4. load函数、c++函数的初始化

preMain的优化点:

  1. 动态库:自定义动态库官方建议控制在6个以内,可以进行一些动态库的合并
  2. 偏移修正+ 符号绑定:重排启动方法排列减少缺页中断+控制动态库的数量
  3. OC类的初始化:删掉一些没用的类
  4. load函数、c++函数的初始化:延迟到main以后+不用c++构造函数+重排启动方法排列减少缺页中断

main之后优化点:

1、能延迟的延迟
2、能异步的异步,充分发挥CPU的性能
3、启动的页面不要用xib、storyboard

上一篇 下一篇

猜你喜欢

热点阅读