LeakCanary
1.1:在你的项目中,找到moudle级别的build.gradle文件,并在dependencies标签里加上以下代码:
1.2在你Android项目中,找到先前写的Application类(PS:如果没有,那么请自行新建并在AndroidManifest中声明),并添加如下代码:
2.检测Fragment:上述步骤默认会检测Activity,但是不会去检测Fragment,如果需要对某个Fragment检测的话,需要利用到LeakCanary的其他写法。
2.1:首先,在先前的Application类中,改写为以下代码:
2.2:然后在Fragment中的onDestroy方法中,去使用这个静态的RefWatcher进行观察,如果onDestroy了当前这个Fragment还没被回收,说明该Fragment产生了内存泄露。
3.用来检测某个特定的对象:
(假如对象名为someObjNeedGced):
当执行了refWatcher.watch方法时,如果这个对象还在内存中被其他对象引用,就会在 logcat 里看到内存泄漏的提示。