App启动速度优化
查看启动时间 Pre-main
配置环境变量:DYLD_PRINT_STATISTICS
输出结果:
1、减少Classes, selectors, categories,静态全局变量:
Objective-C是动态语言可以通过名称来实例化类,所以ObjC运行时必须
维护一个包含它们映射到的类的所有名称的表。
2、初始化方法中不要使用dlopen()
;不要创建新的线程。
3、减少动态库 dylibs个数、减少嵌套使用、合并库、使用 static archives。
4、Lazy load:不立即展示给用户的内容可以延迟加载。
5、压缩图片:TinyPNG。
6、避免使用static initializers。
7、优化 FinishLaunching中的处理量,避免大量耗时任务阻塞主线程。
8、使用代码构建VC,减少Storyboard和xib(额外计算量)