debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.5.4’
releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.5.4’
build.gradle引入這兩個依賴
//添加leakcanary相關(guān)的依賴
//在release版本中,使用的是LeakCanary的no-op版本,也就是沒有實際代碼和操作的Wrapper版本,只包含LeakCanary和RefWatcher類的空實現(xiàn),這樣不會對生成的APK包體積和應(yīng)用性能造成影響;
1.在Application處填寫如下;其中有獲取該RefWatcher的方法,我們在Fragment里面需要使用install方法
1.基本上就大功告成了
2.舉個例子,在MainActivity中我們?nèi)缦?/p>
測試
在通知中我們可以看如下通知
分析結(jié)果
LeakThead是 內(nèi)部類,默認持有MainActivity的引用;多次橫豎屏之后,Activity的生命周期會重走,本來應(yīng)該被GC回收,但是并沒有被回收,就造成了內(nèi)存泄漏.圖中告訴我們是MainActviity實例導(dǎo)致內(nèi)存泄漏,往上分析就是LeackThread導(dǎo)致.