App启动速度是我们App的第一个体验感。在日常的Android开发或者维护当中,我们肯定少不了App启动优化。下面就来分享一个我了解到的App启动优化的方向。
App启动分类
- App startup time
- 冷启动
- 耗时最多,衡量标准
*Click Event
->IPC
->Process.start
->Activity Thread
->bindApplication
->LifeCyle
->ViewRootImpl
- 耗时最多,衡量标准
- 热启动
- 最快
后台
->前台
- 最快
- 温启动
- 较快
- 重走
LifeCycle
- 重走
- 较快
- 冷启动
启动执行相关任务
- 冷启动之前
- 启动App
- 加载空白的Window
- 创建进程
- 随后任务
- 创建Application
- 启动主线程
- 创建MainActivity
- 加载布局
- 布置屏幕
- 首帧绘制
优化方向
根据上面的描述,我们的优化方向是:
- Application;
- Activity生命周期;