首先我们要知道App启动分为冷启动和热启动两种情况,我们说的App启动优化指的是冷启动。
什么是冷启动?App点击启动前,App进程不在系统里,这要么是第一次启动,要么是启动后手动杀死进程,需要系统重新创建一个进程分配给App,冷启动也是一次完整的App启动过程
什么是热启动?App在冷启动后用户将App退到后台,此时App的进程仍然在系统里,用户重新返回App的过程就是热启动
冷启动流程
冷启动分为两个阶段:main()执行前、main()执行后
main()执行前,系统会做:
1、加载可执行文件(Mach-O文件)到系统内存
2、加载动态链接库,进行rebase指针调整和bind符号绑定
3、runtime初始化
4、初始化:执行+(void)load方法,一些静态全局变量的创建等
图片来自网络
main()执行后,系统会做:
1、首屏初始化所需要配置文件的读写操作
2、首页列表大数据的读取
3、首页UI渲染的大量计算
冷启动流程优化
1、减少使用+load()方法(慎用runtime的方法交换)
2、合并多个动态库(超过6个建议合并)
3、优化类、方法、全局变量
4、优化首屏渲染(只处理首屏渲染相关业务)
5、优化主线程耗时操作,防止屏幕卡顿
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。