Android 内存泄漏 · 精准定位与修复
📚 30章 从入门到实战
01
内存泄漏基础
GC原理 & 引用链
什么是泄漏
内存溢出 vs 泄漏
02
常见泄漏模式
静态变量 / 匿名内部类
Activity持有
Handler泄漏
03
工具链搭建
Profiler & Heap Dump
Memory Profiler
分析实战
04
LeakCanary实战
集成 & 自定义规则
源码原理
配置检测
05
MAT深度分析
Histogram & Dominator Tree
GC Root追踪
疑点排除
06
常见泄漏场景
单例 / 内部类 / 监听
未注销
非静态内部类
07
Context泄漏
Activity vs Application
getApplicationContext
正确用法
08
线程与异步泄漏
AsyncTask / HandlerThread
协程防范
线程泄漏
09
集合类泄漏
HashMap / ArrayList
WeakHashMap
未清空
10
资源泄漏
Cursor / IO / Bitmap
复用回收
流关闭
11
WebView泄漏
独立进程 / destroy时机
内存释放
技巧
12
Fragment泄漏
FragmentManager / 嵌套
setRetainInstance
陷阱
13
第三方SDK泄漏
图片库 / 地图 / 推送
内存问题
Glide
14
自定义View泄漏
postDelayed / 动画
Drawable回调
未取消
15
序列化与Parcelable
Parcelable / Serializable
Gson陷阱
内存泄漏
16
依赖注入泄漏
Dagger / Hilt / Koin
作用域管理
ServiceLocator
17
协程泄漏
Job取消 / viewModelScope
lifecycleScope
ExceptionHandler
18
RxJava泄漏
Disposable / AutoDispose
RxLifecycle
管理
19
数据库泄漏
Room / SQLiteOpenHelper
ContentObserver
未注销
20
Service泄漏
startService / BoundService
ForegroundService
内存
21
BroadcastReceiver泄漏
动态注册 / 粘性广播
LocalBroadcastManager
未注销
22
系统服务泄漏
Sensor / Location / Notification
注册管理
注销
23
JNI/Native泄漏
全局引用 / Native分配
NDK检测
工具
24
性能监控体系
阈值 / 自动化 / CI/CD
LeakCanary集成
流程
25
线上监控方案
Matrix / KOOM / 自定义
监控上报
原理
26
修复策略
弱/软引用 · 生命周期绑定
对象池
模式
27
架构层面预防
MVVM / Repository / 数据驱动
内存安全
架构
28
代码审查清单
CheckList / 静态分析 / Lint
Code Review
规则
29
实战案例1
大图列表 / RecyclerView
Glide三级缓存
复用
30
实战案例2
直播应用 / 视频流内存
OpenGL纹理
释放