APP的启动优化

一般而言,APP的启动时间,是从用户点击APP开始,到用户看到第一个界面之间的时间,总的来说,APP的启动主要包括三个阶段:

App启动主要分三个阶段

1.main函数执行前
2.main函数执行后
3.首页渲染完成后

main函数执行前

main函数执行前,系统主要会做下面几件事
-加载可执行文件(APP的.o文件集合)
-加载动态链接库,进行rebase指针调整和bind符号绑定
-ObjC的运行时处理,包括ObjC相关类的注册,category注册,selector唯一性检查等
-初始化,包括了执行+load()方法,attribute(constructor)修饰的函数调用,创建C++静态全局变量

相应的这个阶段对于启动速度优化来说,可以做的事情包括
1.减少动态库的加载,每个库本身都有依赖关系,苹果公司建议使用更少的动态库,并建议在使用动态库数量较大时,尽量将多个动态库进行合并,数量上苹果建议最多使用6个非系统动态库
2.减少加载启动后不去侃用的类或者方法

3.+load()方法里的内容放到首屏渲染完成后在执行,使用+()initialize方法替换掉,因为在一个+load()方法里,进行运行时方法替换操作会带来4毫秒的消耗,不要小看这4毫秒,积少成多

你可能感兴趣的:(APP的启动优化)