Android应用启动分为三种情况:
- 冷启动
- 暖启动
- 热启动
以上三种方式从上到下依次启动耗时会减少。接下来一一讲解
冷启动
冷启动会出现在系统启动后或应用被系统kill掉后,首次启动应用,冷启动包括三个大步骤:
- 启动APP,创建APP进程
- 创建主线程,渲染第一帧画面
- 将启动时创建的空白window替换为绘制好的activity,开始接受用户交互
每一步中执行的具体操作如下:
1. 启动APP,创建APP进程
- 加载和启动APP
- 显示一个空白的window
- 创建APP进程
2. 创建主线程,渲染第一帧画面
- 创建APP对象
- 启动主线程
- 创建MainActivity
- inflate页面的view
- 布局首屏
- 执行首次绘制
3. 使用上一步绘制完成的首屏替换第1步显示的空白window,开始接收用户的交互事件
热启动
热启动是耗时最少的启动方式,这种方式发生在应用进程退后台后,重新被用户唤起。此时内存中依旧保存着应用进程,因此系统只需要将应用进程从后台调至前台,无需做各种初始化、inflate、layout和渲染等等操作。
暖启动
暖启动的耗时介于以上两者之间,