1、APP启动过程
(1)解析info.plist文件
- 加载相关信息,如闪屏
- 沙箱建立、权限检查(如麦克风、相机、相册、地图等权限是否打开)
(2)mach-o加载 - 加载类目中的方法
- 加载+load方法
(3)程序执行 - 加载main函数
- 加载uiapplicationmain函数
- 执行applicationWillFinishLaunching方法
2、影响app启动过慢的原因
(1)main函数执行之前的原因
(1)+load方法中代码太多
(2)applicationdidfinishlaunching方法代码太多
3、优化方法
- 减少+load方法的代码量
- 减少applocationdidfinishlaunching的代码量
- 首页使用纯代码布局,除去UI展示,延迟加载其他功能;
- 使用懒加载,减少viewdidload、viewwillappear的功能,延迟加载。
- 定期review代码,删除已下线,无效代码。
网友评论