iOS APP启动时间优化
2020-05-23 本文已影响0人
Sweet丶
一、优化方式
APP启动优化主要是main函数开始前的优化,主要有以下几点:
- 减少非系统库的依赖、合并非系统库。
- 减少Objc类数量, 减少selector数量。
二、如何检查启动时间:
Edit Scheme -> Run ->Arguments->Environment Variables
设置:key:DYLD_PRINT_STATISTICS value:YES

三、在main函数调用前,系统所做的事情:
- 用户点击APP后,系统读取可执行文件(Mach-o文件),从里面找到dyld(动态链接加载器)。
- dyld初始化运行环境,然后配合imageLoader将系统依赖库、非系统依赖库、二进制文件加载到内存中。
- 初始化Runtime环境,Runtime对项目中所有类进行类结构初始化,调用所有的load方法。
- 上面的事情完成之后,dyld调用main函数。