AIW 是一本可以在线阅读、下载 EPUB、对照源码查机制的 Android 系统与性能电子书。 全书五部分、二十六章,从应用一路讲到 Framework、Native 和 Kernel,也讲怎样用 Perfetto 等工具把问题查下去。
如果你手上正有一个启动慢、滑动卡、ANR 或耗电问题,可以带着问题读;想补系统知识,也可以按目录往下走。网页版和电子书都能免费阅读:
- 在线阅读:wiki.androidperformance.com
- 源文与完整目录:GitHub
- 下载 EPUB:GitHub Releases
这次把介绍更新到 2026 年 11 月的内容。书仍在 alpha 阶段,当前正文以 Android 17 / API 37 为最高确定性版本;英文完整正文计划在 v1.0 之后提供。
想把什么讲到一起
Android 的资料不缺。麻烦的是,一篇讲 Android 12 的源码,一篇讲某台设备上的现象,再一篇只告诉你某个 API 怎么用。单独看都能读懂,轮到自己排查时,还得重新确认它们能不能放在一起。
我想把系统机制、性能问题和工具放进同一套结构里:为什么会这样,代码走到哪里,工具上能看到什么,这个判断在哪些版本和条件下成立。
比如应用有渲染活动,不代表画面已经显示;CPU 使用率不高,不代表线程没有排队;内存紧张,也可能先表现为卡顿和后台重建。把现象直接翻译成原因,很容易找错要改的地方。
AIW 的全名是 Android Internal Wiki,中文书名是《Android 技术内幕:系统机制、性能优化与工具实战》。它适合已经有 Android 开发、系统服务或性能测试经验,想继续往下查的人。完整的 AOSP 开发经验不是前提,第一次接触应用开发的话,先有一个能跑起来的项目会更容易读。

五部分、二十六章,怎样挑着读
全书结构保留五条线。完整的小节目录以仓库的 SUMMARY 为准,不必从第一页读到最后一页才开始用。
| 部分 | 内容 | 读它能解决什么 |
|---|---|---|
| 系统运行机制,第 1---6 章 | 架构、渲染、输入、内存、CPU 调度与能耗、存储 I/O | 先弄清对象、进程和线程之间的关系,知道等待发生在哪一层 |
| 性能问题与优化,第 7---13 章 | 流畅性、响应速度、ANR、内存、功耗、网络、渲染管线 | 把用户说的"卡、慢、不跟手"拆成可以继续查的系统行为 |
| 工具与方法论,第 14---17 章 | Perfetto、其他分析工具、调查方法、APM | 选择采集方式,读数据,写出能复查的判断 |
| 系统与厂商优化,第 18---19 章 | AOSP 优化、OEM 与设备差异 | 区分平台机制与量产设备上的内核、HAL、固件和散热条件 |
| 应用性能实践,第 20---26 章 | 稳定性、启动、渲染、内存、I/O 与网络、功耗与包体积、可观测性 | 回到应用团队能改的代码,以及怎样观察上线后的结果 |
现在的目录里也能直接找到 Android 17 的 AVF / pKVM 隔离边界、ACK 6.18 的 BPF 可观测性、折叠屏显示切换,以及自动化性能测试与 CLI Agent 工作流。遇到这些问题,不必拿一篇旧版本的通用介绍硬套。
附录还有版本变化、命令速查、Perfetto 模板、分析检查清单、术语、推荐阅读和学习路径。临时要查命令或准备采集,可以从这些入口开始。
带着一个问题进去,比背目录更有用
启动慢,先分清慢在哪一段。 第 21 章看应用启动,第 1 章补进程与系统服务关系,第 14 章用 Perfetto 对照。进程创建、初始化、首帧和业务可用是不同时间点,只优化其中一段,未必能缩短用户真正等待的时间。
滑动不跟手,把输入和画面放到一起。 可以从第 3 章输入、第 7 章流畅性和第 13 章渲染管线交叉看。View、Compose、Flutter、WebView、Camera 和游戏的 buffer 生产路径并不相同。先确认是哪条管线,再判断是输入晚、应用产帧晚,还是合成与呈现晚。
内存占用没到 OOM,也值得继续查。 第 4 章讲系统机制,第 10 章讲内存性能,第 23 章回到应用实践。Java Heap、Native Heap、Bitmap、图形缓冲和换页,各自需要不同的证据。一个总内存数字解释不了这些区别。
线上只剩一句"用户说卡"。 第 17 章看 APM 怎么采集,第 26 章看应用怎样把证据留下来。Crash、ANR、启动、网络和存储的观测都有对应入口;线下再用第 14---16 章的方法,把记录和实际问题对上。
书内的机制图可以和文字一起看。下面这张来自渲染章节:同一时刻,主线程、RenderThread、GPU 和显示侧可能正在处理不同帧,读 trace 时需要按目标帧关联,不能沿一条竖线就把它们当成同一帧。

图为书内机制示意,不是设备实测时间线。原图见渲染章节配图。
这里没有一套"照做就能优化所有应用"的参数表。我更希望读者看完之后,能知道下一步该取什么数据,哪些判断现在还做不了。
版本和依据,读的时候就能查
机制说明会给出 AOSP 的类、方法或文件路径,方便回到同一份代码。当前平台基线是 android-17.0.0_r1,内核研究基线是 Android Common Kernel 的 android17-6.18-2026-06_r6。
固定基线解决的是"我们在讨论哪份代码"。它不表示每节都在 Android 17 真机验证过,也不表示升级到 Android 17 的设备都使用同一内核。厂商对调度、功耗、显示和后台管理的改动,仍要看具体机器。
工具章节同时交代数据能说明什么。trace 没采到的东西不能靠解释补出来,一条相关性也不能直接当成原因。有些机制可以从源码讲清楚,但性能收益还缺真机量化;这些地方只能按已有证据读,不能把文字完整当作验证完整。
书还会继续更新。如果发现正文和源码对不上,带上版本、源码路径和具体段落提 Issue 或 PR,就很容易定位。
在线查、离线读,或放进分析工作流
网页版适合临时查一节、沿目录跳转,支持搜索和浅色、深色主题。EPUB 适合放进阅读器,按自己的节奏往下读。当前每周发布电子书,2026 年 11 月 15 日的版本已在 Releases 提供;在线正文和下载版各有更新时间,不一定包含完全相同的最新改动。
AIW 还提供给 SmartPerfetto 使用的公开 Knowledge Pack:把二十六章正文做成可检索、带版本的知识快照。它适合在分析时回查机制与方法,不能代替当前 trace 的证据,也不意味着模型引用过书就验证了结论。普通读者直接看网页版或 EPUB 就够了。
几个项目可以这样搭配:
- 查机制与学习方法:AIW 和 Android Performance 博客。
- 自己采数据:Perfetto Tools;需要案例练习时看 SystraceForBlog。
- 在界面里分析 trace:SmartPerfetto。已经习惯 Codex、Claude Code 或 OpenCode,也可以用独立的 Perfetto-Skills。
- 需要补应用方法轨道时,再考虑 TraceFix。
不需要把这些项目都装一遍。先解决手上的问题,再选缺的工具;完整导航在 Android Performance Ecosystem。
免费阅读,怎样使用和参与
正文与 EPUB 按 CC BY-NC-SA 4.0 提供:非商业转载、改编要署名,并保留相同许可。出版、上架销售、收费培训或把正文放进付费产品,需要另行取得书面授权,具体看 许可 和 商业授权说明。引用的 AOSP、Linux 和第三方代码保留各自许可,不能由书的内容许可替代。
欢迎纠错,也欢迎补充有版本、有出处、能复查的案例。新章节或大幅改写先开 Issue 讨论,当前主要精修现有二十六章。完整规则见 CONTRIBUTING。
GitHub 下载不方便的话,公众号 Android Performance 回复「电子书」「书」「AIW」或「Android Internals Wiki」,也能拿到下载链接。
如果正好有一个问题卡在系统机制上,先打开目录找一节读。哪一句说得不对,带着源码来改它。一本能在实际工作里反复查、也允许被纠正的书,对我来说比一本看起来什么都确定的书更有用。