Skip to content
阅读进度

什么是冷启动、温启动和热启动?如何测量它们的耗时? ​

返回 性能与稳定性 目录

标准回答 ​

冷启动是进程尚不存在,需要创建进程和应用;温启动通常是进程还在,但需重建 Activity 等部分状态;热启动主要是把保留的 Activity 带回前台。可以用 Macrobenchmark 对应 StartupMode 测量,并分别看首屏可见 TTID 与业务可用 TTFD,保持设备、数据和启动条件一致。

通俗例子 ​

把应用退到后台再打开,不能自动当作冷启动;测试前明确进程和 Activity 状态,并使用同样的结束点比较。

深入解释 ​

**冷热取决于已有状态:**冷启动通常需要创建进程并做初始化;温、热启动会复用不同程度的进程、Activity 或任务状态,所以要明确你的测试判定方式。

**测量不要混用终点:**首个窗口可见、首个有效内容帧和功能完全可用可能是三个时刻。移走某项初始化后要看用户需要的内容是否也被推迟。

易混淆点 ​

TTID 与 TTFD 是不同指标;自定义“响应时延”要单独明确起止事件。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。