LeakCanary源码解析
言简意赅 三个部分 观察 分析 展示及辅助 直接上图
1 watcher
这些类都是辅助类 实体类 除了它
它做了什么?观察 引用 删除引用 gc再删除引用 如果还有引用 就生成 堆栈文件
总共150行代码不到 非常好理解 主要底层还是使用 java.long.ref的类来实现
分析 主要使用 haha lib 获取当前的堆栈列表,然后分析处理数据 获取引用链表
查找最短路径方法 haha 的上层封装
下边是heapanalyzer解析 一些解析的方法
看看 还是能理解他的大致操作的
接下来是辅助展示 包含了展示activity service