# 内存泄漏检测全方案
## 目录
1. [检测原理](#检测原理)
2. [工具链对比](#工具链对比)
3. [iOS专项方案](#ios专项方案)
4. [Android专项方案](#android专项方案)
5. [自动化检测](#自动化检测)
6. [线上监控](#线上监控)
7. [治理流程](#治理流程)
---
## 检测原理
### 内存泄漏常见类型
```mermaid
graph TD
A[内存泄漏] --> B[强引用循环]
A --> C[未释放观察者]
A --> D[大对象缓存]
A --> E[C层资源泄漏]
引用关系分析
- 强引用环检测:对象A→B→C→A形成闭环
- 生命周期错配:
class ViewController { var closure: (() -> Void)? func setup() { // self强持有closure,closure又捕获self closure = { self.doSomething() } } }
工具链对比
主流工具能力矩阵
| 工具 | 平台 | 检测类型 | 侵入性 | 性能损耗 |
|---|---|---|---|---|
| Instruments Leaks | iOS | 通用 | 无 | 中 |
| MLeaksFinder | iOS | VC/View | 低 | <1% |
| OOMDetector | Android | 全量 | 中 | 5-8% |
| LeakCanary | Android | 活动对象 | 低 | 2-3% |


1181

被折叠的 条评论
为什么被折叠?



