耗时大半年,开源一本 Android 电子书《Android 技术内幕:系统机制、性能优化与工具实战》
Android 内部机制的资料,网上不缺。AOSP、官方文档、博客、论文、trace 讨论,想找都找得到。麻烦的是各说各的版本:这篇是 Android 12 的结论,那篇没写版本,再一篇是某台机器上的现象。
AIW 想补的就是这个缺口。全称 Android Internal Wiki,中文书名是《Android 工艺内幕:系统机制、表现优化与工具实战》,五部分二十六章,正文钉在 Android 17。仓库准备开源:
https://github.com/Gracker/android-internals-wiki
打开仓库能拿到的是二十六章正文、一份完整目录,和每周编一次的 EPUB。
这二十六章现在到了可以拿出来给人读的程度。读到哪一段和源码对不上,欢迎提 issue 或者 PR。
这本书想解决什么
做 Android 性能或者系统的人大概都遇到过:官方文档讲的是 API 和平台行为,博客讲的是某一次排查,源码解析贴的是一串调用关系。三种材料各有各的用处,但拼不出一条从App代码追到内核、每一步还能回源码核对的完整路径。
每一章尽量回答四件事:这个机制为什么存在、现在怎么跑、用什么工具观察、结论在哪些版本和条件下成立。
读者主要是这三类人:
- 应用工程师:启动慢、滑动卡、ANR、内存抖动、功耗异常,想从App层追到平台层成因。
- 系统工程师:需要把 Framework、Native、HAL、Kernel 放在同一个视角里看。
- 性能工程师:需要一套稳定的知识框架,用来读 trace、判断瓶颈、解释优化收益和风险。
这本书不适合当入门课。Android 18 以后的结论书里也没有,正文停在 Android 17。

现在写到哪了
全书五部分、二十六章,外加少量附录。完整目录在仓库的 src/SUMMARY.md。下面把每一章讲什么列出来,挑和自己相关的那几章看就行。
第一部分:Android 系统运行机制
平台怎么把软件跑起来,画面、输入、内存、调度和存储分别在哪一层等待。
- 第 1 章 操作系统架构全景:进程模型、Zygote、Binder、cgroup 和系统服务边界。慢启动、ANR 或 native 崩溃时,先确认代码跑在哪个进程、跨过哪条 IPC。
- 第 2 章 渲染平台:从主线程、RenderThread、BufferQueue、SurfaceFlinger 到 HWC 和面板。掉帧、首帧晚、SurfaceView 错位,要先分清帧走哪条生产和合成路径。
- 第 3 章 输入操作系统:点击无响应、滑动不跟手、返回动画晚一拍。帧率正常也不能证明输入及时到达App,要把事件和产生反馈的那一帧放在同一条时段线上。
- 第 4 章 内存管理:GC、缺页、direct reclaim、zram、进程冻结和图形缓冲。OOM 只是其中一种结局,内存压力也会变成卡顿和后台重建。
- 第 5 章 CPU 调度与能耗管理:可运行却排队、大小核放置、DVFS、温控和后台执行规定。只看 CPU 使用率分不清这些成因。
- 第 6 章 存储与 I/O:page fault、
fsync、块设备争用,以及共享存储上的 MediaProvider / FUSE。只看 Java 栈,容易把存储等待当成业务计算。
第二部分:实力问题与优化
用户能感觉到的卡、慢、无响应、耗电和网络差,分别对应哪类系统行为。
- 第 7 章 流畅性:掉帧、输入延迟、合成降级和温控限制。相似的「卡」背后,要改的位置可能完全不同。
- 第 8 章 响应速度:从操作到可见反馈或恢复可交互的时间。和流畅性分开:一个看首响,一个看连续帧间隔。
- 第 9 章 ANR:平台判定App没有在时限内完成输入、广播或服务回调。机制、Kernel Trace 联合诊断和典型路径。
- 第 10 章 内存性能:从软件表现视角看 OOM、频繁 GC、换页和图形内存。先分清攀升发生在哪类内存、谁持有、怎样变成可感知延迟。
- 第 11 章 功耗:功耗速率和一段时间的耗电量。WakeLock、蓝牙扫描、后台执行和用户设置,时间窗口通常比卡顿更长。
- 第 12 章 网络性能:请求进入网络栈之后的排队、DNS、连接复用、TLS 和
netd。 - 第 13 章 渲染管线专题:View、SurfaceView、Vulkan、Compose、Flutter、WebView、Camera、视频 Overlay、游戏引擎和 XR。先确认谁生产 buffer、写入哪个 Surface、合成发生在哪一层。
第三部分:表现工具与途径论
怎么采集证据、读懂工具,以及怎样把一次调查写到能复查。
- 第 14 章 Perfetto:把渲染、输入、调度、Binder、I/O 和功耗放到同一条时刻轴。方向是采到够用的数据,读懂 track / slice,并写成可复核的 SQL。
- 第 15 章 其他分析工具:Android Studio Profiler、simpleperf、HPROF、dumpsys、Battery Historian、GPU capture、Winscope 和 eBPF。Perfetto 覆盖不了的证据形态在这里。
- 第 16 章 办法论:现象怎么定义,现有证据能证明什么,App、平台和测试环境各作用哪一段,修复后怎么验证。
- 第 17 章 APM 工具与性能监控生态:Firebase、Matrix、KOOM、LeakCanary、Benchmark 和崩溃 / ANR / 耗电采集机制。面向选型和实现,不替代第 14 到 16 章的线下分析。
第四部分:系统与厂商优化
平台和量产设备上还能改什么,以及不能把 AOSP 基线当成某台机器的行为。
- 第 18 章 AOSP 性能优化:操作平台业务、编译调试、Kernel 6.18、AutoFDO、Profile 安装编译和开机耗时。面向可以改平台代码的人。
- 第 19 章 OEM 与设备差异:Power HAL、SoC、游戏模式、Media Performance Class,以及 Private Space、车机等产品形态。量产设备会叠加内核、固件和散热差异。
第五部分:App表现实践
软件班底能改的启动、渲染、内存、I/O、功耗和线上观测。
本文由News整理发布,仅供参考。

