第 7 章

流畅性

用户口中的“卡”可能对应掉帧、输入延迟、跨进程阻塞、渲染链路退化、功耗或温控限制,也可能已经接近 ANR(Application Not Responding,应用无响应)。相似的主观感受背后,系统行为和需要调整的位置可能完全不同。

平台基线为 Android 17 / API 37 / android-17.0.0_r1,内容依次说明帧时间的含义、诊断证据和常见优化边界。涉及调度、功耗和温控时,内核基线为 android17-6.18-2026-06_r6。分析目标是把“界面感觉很卡”转化为能够复现、定位原因并验证的结论。

内容索引

阅读建议

  • 系统学习流畅性时,按 7.1 → 7.2 阅读,建立帧时间、根因和证据之间的关系。
  • 排查线上卡顿时,从 7.2 的证据流程与 7.3 的感知节奏选择入口;若已定位到具体 UI 组件,再进入 22.1~22.3。
  • 分析具体 UI 技术体系时,View、Compose 与 RecyclerView 分别进入 22.1、22.3、22.2;第 7 章保留 7.3 的感知节奏和 7.4 的 SystemUI 系统链路。
  • 卡顿与功耗、温控同时变化时,结合 25.1 与 25.9 的功耗归因记录、thermal(温控)和调度证据判断。
  • 卡顿集中在页面切换、窗口形态变化、图片、WebView 或显示合成时,分别查阅 22.11、22.12、22.9、22.16/13.9 与 7.5
  • 无障碍、ContentCapture(内容捕获)或 Autofill(自动填充)改变页面开销时,查阅 7.6;用于自动寻找目标方法调用路径的 GAPS 工具见 15.13。

正文《Android 技术内幕》作者 高建武(Gracker),原仓库 Gracker/android-internals-wiki,以 CC BY-NC-SA 4.0 授权。本站是个人非商业阅读版改编,非官方站点。正文字体 霞鹜文楷(SIL OFL 1.1,授权全文)。