LeakCanary源码解析

言简意赅 三个部分  观察  分析  展示及辅助   直接上图

1  watcher

LeakCanary源码解析

这些类都是辅助类 实体类 除了它

LeakCanary源码解析


它做了什么?观察 引用   删除引用 gc再删除引用 如果还有引用 就生成 堆栈文件

LeakCanary源码解析

LeakCanary源码解析

LeakCanary源码解析

总共150行代码不到 非常好理解  主要底层还是使用 java.long.ref的类来实现

LeakCanary源码解析

分析    主要使用  haha lib 获取当前的堆栈列表,然后分析处理数据 获取引用链表 

LeakCanary源码解析

查找最短路径方法   haha 的上层封装  


下边是heapanalyzer解析 一些解析的方法

LeakCanary源码解析

看看 还是能理解他的大致操作的

接下来是辅助展示  包含了展示activity service 

LeakCanary源码解析