LeakCanary原理

876 阅读1分钟

简言之

使用弱引用+引用队列的形式。

1、监听Activity生命周期

2、在Activity执行onDestory()后,创建一个弱引用Refrence,该引用指向Activity,将其放入引用队列RefrenceQueue。

3、过一段时间,判断引用是否存在,若存在,过一会儿执行GC,再判断是否存在,若还是存在,该视为内存发生泄漏。

4、dump内存信息,分析泄漏原因

个人理解,不对请指正。面试用够了。