外观
什么是冷启动、温启动和热启动?如何测量它们的耗时?
标准回答
冷启动是进程尚不存在,需要创建进程和应用;温启动通常是进程还在,但需重建 Activity 等部分状态;热启动主要是把保留的 Activity 带回前台。可以用 Macrobenchmark 对应 StartupMode 测量,并分别看首屏可见 TTID 与业务可用 TTFD,保持设备、数据和启动条件一致。
通俗例子
把应用退到后台再打开,不能自动当作冷启动;测试前明确进程和 Activity 状态,并使用同样的结束点比较。
深入解释
**冷热取决于已有状态:**冷启动通常需要创建进程并做初始化;温、热启动会复用不同程度的进程、Activity 或任务状态,所以要明确你的测试判定方式。
**测量不要混用终点:**首个窗口可见、首个有效内容帧和功能完全可用可能是三个时刻。移走某项初始化后要看用户需要的内容是否也被推迟。
易混淆点
TTID 与 TTFD 是不同指标;自定义“响应时延”要单独明确起止事件。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
21.3.2