应用启动速度
一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序
本文将从两个方向优化应用的启动速度 :
- 视觉体验优化
- 代码逻辑优化
视觉优化
应用程序启动有三种状态,每种状态都会影响应用程序对用户可见所需的时间:冷启动,热启动和温启动
关于这3种启动方式,可以查看谷歌开发文档
大家常说的是冷启动和热启动
- 冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动
- 热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动
在冷启动时,应用程序从头开始。在其他状态下,系统需要将正在运行的应用程序从后台运行到前台。我们建议您始终根据冷启动的假设进行优化。这样做也可以改善热启动和温启动的性能
在冷启动开始时,系统有三个任务。这些任务是:
- 加载并启动应用程序
- 启动后立即显示应用程序空白的启动窗口
- 创建应用程序进程
一旦系统创建应用程序进程,应用程序进程就会负责下一阶段,这些阶段包括:
- 创建app对象
- 启动主线程(main thread)
- 填充加载布局Views