🧰 内存优化 · Mat & Perfetto
30章 实战目录
🎯 友好 · 活泼配色
第1章
内存优化概述
核心
为什么需要
泄漏/抖动/溢出
优化目标与指标
第2章
MAT基础入门
工具
MAT是什么
安装配置
Heap Dump获取
第3章
MAT界面详解
视图
Overview
Histogram
Dominator Tree
GC Roots
第4章
分析Activity泄漏
实战
定位泄漏Activity
引用链分析
修复代码
第5章
分析Bitmap内存
实战
Bitmap占用计算
重复检测
大图优化
第6章
集合类泄漏
实战
HashMap/ArrayList泄漏
静态集合持有
WeakHashMap
第7章
线程与Handler泄漏
实战
Thread泄漏
Handler+Message
AsyncTask
第8章
单例与静态变量泄漏
实战
单例持有Context
静态集合
枚举泄漏
第9章
第三方SDK内存泄漏
实战
常见SDK泄漏
Glide/Fresco
OkHttp连接
第10章
MAT高级技巧
进阶
OQL查询
Compare对比
Leak Suspects
第11章
Service与BroadcastReceiver泄漏
实战
Service未停止
Receiver未注销
绑定服务泄漏
第12章
WebView内存泄漏
实战
内核泄漏
WebView复用
跨进程方案
第13章
匿名内部类与Lambda泄漏
实战
内部类持有外部
Lambda泄漏
静态内部类优化
第14章
Fragment内存泄漏
实战
嵌套泄漏
FragmentManager引用
ViewPager+Fragment
第15章
自定义View内存泄漏
实战
自定义View持有Activity
View.postDelayed
动画泄漏
第16章
Perfetto基础入门
工具
Perfetto是什么
与Systrace对比
安装配置
第17章
Perfetto界面详解
视图
Trace录制配置
Viewer界面
时间轴/Slice/Counter
第18章
应用启动性能分析
实战
启动流程Trace
冷/热启动优化
ContentProvider优化
第19章
UI卡顿与掉帧
实战
Choreographer帧回调
Display Frame
长任务检测
第20章
内存分配与GC
实战
Java Heap分配
GC事件分析
Allocation Tracking
第21章
CPU与线程调度
实战
CPU频率
线程状态
Binder/锁竞争
第22章
IO与网络性能
实战
文件IO Trace
网络请求Trace
SQLite操作
第23章
功耗与温度
实战
Power Rails
Battery Stats
Thermal Throttling
第24章
SurfaceFlinger与GPU
实战
SurfaceFlinger合成
GPU渲染
HWC分析
第25章
SystemServer与AMS
实战
ActivityManagerService
WindowManagerService
SystemServer线程
第26章
Perfetto高级技巧
进阶
自定义Trace点
Trace Config
分析脚本/对比
第27章
分析ANR问题
实战
ANR触发机制
ANR Trace分析
Input Dispatching Timeout
第28章
OOM与内存压力
实战
Low Memory Killer
lmkd事件
ZRAM/Swap
第29章
MAT与Perfetto联合分析
综合
Heap Dump+Trace
内存与性能关联
综合优化案例
第30章
内存优化最佳实践
总结
优化流程总结
监控体系搭建
自动化检测/Code Review