监测启动时间
- Pre-main 阶段,通过DYLD监测
DYLD_PRINT_STATISTICS
dylid loading time:动态库的载入耗时
rebase:修复偏移,binding:外部函数符号绑定
Objc setup time:OC类注册的耗时
initializer time:
解决方案
项目工程减少动态库数量,超过六个合并动态库,舍弃项目中没用的类
-
冷启动 数据从磁盘加载到物理内存的过程
-
热启动 物理内存存在数据,启动读取物理内存的过程
优化方案
- 离屏渲染
- 多线程异步加载
- 优化可执行文件
项目加载顺序
项目的可执行文件,以页为单位,懒加载的形式加载到物理内存中
- 懒加载:系统访问虚拟内存,数据没有载入到物理内存,系统抛出PageFult(缺页异常),数据以页的形式加载到物理内存的过程