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毫秒,积少成多

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容