App冷启动优化

2021-06-27  本文已影响0人  J星O海E

冷启动定义

冷启动定义: 从用户点击App到首屏展示为止。

T1:main()函数之前,即操作系统加载App可执行文件到内存,然后执行一系列的加载&链接等工作。

T2:main()函数之后,即从main()开始,到appDelegate的didFinishLaunchingWithOptions方法执行完毕。

T3:加载首页,发送请求,解析数据,渲染页面。

存量问题

T1:执行大量的+load方法、加载无用的类和方法

T2:执行大量的启动项任务、同步I/O操作以及一些其他比较隐晦的耗时操作

T3:同步I/O操作以及一些其他比较隐晦的耗时操作

治理思路

冷启动性能问题的治理目标主要有三个:

解决存量问题:优化当前性能瓶颈点,优化启动流程,缩短冷启动时间。

管控增量问题:冷启动流程规范化,通过代码范式和文档指导后续冷启动过程代码的维护,控制时间增量。

完善监控:完善冷启动性能指标监控,收集更详细的数据,及时发现性能问题。

T2 - 启动项治理

1、分阶段启动

2、部分任务子线程处理

T1 - main之前的优化

流程:加载动态库、注册OC类、执行类的+load方法。

减少动态库的加载、清除无用类和无用方法、+load方法治理。

T3 - 业务治理

1、图片资源治理

2、减少I/O操作

3、优化布局

4、串行改并行


上一篇 下一篇

猜你喜欢

热点阅读