ios面试

学习笔记:App 启动速度怎么做优化与监控

2019-03-17  本文已影响0人  ios小菜

最近看了戴铭大神的极客时间,来做一些笔记

APP启动分为冷启动和热启动

APP启动三个阶段

  1. main()函数执行之前
  2. main()函数之后
  3. 首屏渲染完成后

main函数执行之前

  1. 加载可执行文件(App 的.o 文件的集合)
  2. 加载动态链接库,进行 rebase 指针调整和 bind 符
  3. 初始化,+load()方法,创建c++静态全局全局变量
    这部分可以做的优化工作有,减少动态库的加载,减少加载启动后不会去使用的库和方法,把+load()方法执行逻辑放到首屏渲染后或者放在+initialize()里面,控制c++的全局变量数量

main函数执行之后

这个阶段一般是从AppDelegate的applicationDidFinishLaunching的方法到首屏渲染,展示来欢迎界面这个阶段。首页的任务都是放生在这个阶段,一般包括的任务有:

  1. 首屏初始化所需配置文件的读写操作
  2. 首页列表大数据的读取
  3. 首屏渲染的大量计算等
    这部分可以做的优化工作有

方法级别的启动优化的监控思路

一般统计一个方法的执行时间的手段有

最后附上戴铭大神的实现工具对oc方法的调用进行监控,GCDFetchFeed

上一篇 下一篇

猜你喜欢

热点阅读