Performance 性能优化
Android 系统性能优化核心知识,涵盖渲染、内存、稳定性、图形、CPU 调度、工具链和实战案例。
rendering/ 渲染与流畅度
系列文章
- Binder 三部曲 — 驱动篇→C++层→Java层,完整 Binder 通信链路
- 卡顿掉帧三件套 — 原理→工具篇→实战篇
- Perfetto 系列 — Choreographer 渲染流程、MainThread/RenderThread 解读
- Systrace 分析技巧 — Running/Runnable/Sleep 状态分析、Binder 锁竞争
重点文章
- Choreographer 渲染机制详解
- frameIsEarly - buffer 生成后不立即 latch
- 有 buffer 但不 latch
- Perfetto 使用指南
- EEVDF 为何适配手机
- 小米常见命令总结
memory/ 内存分析
重点文章
- Memtrack GPU 内存分析
- meminfo 字段详解
- Jemalloc 堆重分配器
- Unknown 内存拆解方案
- Graphic EGL 内存拆解
- 内存分析工具
- 内存拆解
- hprof + OQL 分析定位
- 堆内存检视方案(Native Heap Insight) — 自研 Native Heap 运行时分析工具,低延迟一站式符号解析(新增于 2026-05-22)
- 老化峰值内存指导 — 老化场景内存采集、解析与峰值数据解读(新增于 2026-05-22)
- 内存分析工具使用手册 — smaps/meminfo/hprof/gfxinfo 综合使用指南(新增于 2026-05-22)
- 内存工具-日志采集&解析工具使用指导 — 开机/典型场景内存数据抓取工具(新增于 2026-05-22)
- 内存降负载打样文档汇总 — 降负载分析方法与工具索引(新增于 2026-05-22)
- 内存日志抓取 — smaps/meminfo 基础抓取步骤(新增于 2026-05-22)
- 文件页内存调试分析 — filemap 文件页堆栈抓取与分析流程(新增于 2026-05-22)
- 系统UI开发规范&技巧 — 内存篇 — SystemUI 内存管理规范与 meminfo 详解(新增于 2026-05-22)
- Filemap 文件页堆栈抓取 — filemap_catch 工具使用方法(新增于 2026-05-22)
- Franklin1 Android Memtrack — Memtrack 与 meminfo 基础原理介绍(新增于 2026-05-22)
- Java Heap 内存分析 — heapprofd Java heap sampling 与 dump 分析(新增于 2026-05-22)
- native堆-通过工具分析内存占用 — showmap + HTML 报告解读 native 堆占用(新增于 2026-05-22)
- Perfetto heapprofd 原理解析 — heapprofd 采集流程与 Native/ART 堆对比(新增于 2026-05-22)
- SystemUI开机内存基线 — SystemUI 开机内存与竞品对比分析(新增于 2026-05-22)
- SystemUI匿名页native堆内存分析 v2 — 匿名页 Pss 200MB 优化目标拆解(新增于 2026-05-22)
- Systemui Java堆-Hprof对比分析 — Java 堆 Hprof 对比与 GC 差异分析(新增于 2026-05-22)
stability/ 稳定性与 ANR
系列文章
- Input 系统全链路 — 启动→InputReader→InputDispatcher→UI线程→ANR原理,6 篇完整链路
重点文章
graphics/ 图形与动画
重点文章
- SystemUI 动画技术调研
- Hardware Layer 详解
- Android 离屏渲染问题定位
- Skia Cache Miss 排查
- SurfaceFlinger 合成延迟排查
- RenderThread 耗时定位
- Surface 黑花闪
- Folme 动画库集成
- Graphics内存数据拆解 — GL/Vulkan texture 内存申请与日志增强分析(新增于 2026-05-22)
cpu-sched/ CPU 调度
binder-ipc/ Binder 与 IPC
tools/ 性能工具
- dumpsys 调试指南
- Simpleperf 介绍
- 火焰图阅读方法
- Android 日志系统
- adb 常用命令
- perf2perfetto工具使用说明 — simpleperf 火焰图转 Perfetto trace 时间线展开工具(新增于 2026-05-22)
- Perfetto定制化内存分析插件 — 内部 Perfetto UI 内存分析插件使用(新增于 2026-05-22)
- ubuntu快速抓取火焰图 — NDK simpleperf 抓取火焰图完整流程(新增于 2026-05-22)
- Frida 动态插桩系列 — Frida 17.9.11 完整手册:安装部署、Java/Native Hook、实战场景(新增于 2026-05-29)
cases/ 实战案例
- Shell Transition 系列 — 动画定制开发、执行过程、典型问题分享
- 上滑进密码页离屏丢帧 — RenderThread allocateImageMemory 耗时导致首帧严重丢帧(新增于 2026-05-14)
- 非联动亮灭屏 allocateImageMemory 根因分析 — 锁屏 AllInOne 时钟 MiBlurBlend 离屏渲染 GPU 内存 62MB 周期性冷分配(新增于 2026-05-27)