SimpleLeakCanary:LeakCanary 簡化版(Android/Java)
LeakCanary simple version
抽取了LeakCanary檢測部分的代碼,放在了這里,有興趣的可以看下
原理簡單點說就是: 在onDestroy的時候為Activity加上WeakReference,然后在合適的時機調用Runtime.getRuntime().gc()觸發GC,之后檢測下WeakReference還是否存在。
如果存在,那么Activity就泄露了;如果不存在,那么表示回收正常。
具體的細節部分請看抽取代碼。
RefWatcher是引用監聽,也是監聽部分最核心的代碼。
LeakCanary源碼工程導讀
- leakcanary-analyzer : 如果檢測到內存泄露,就dump出hprof分析,這個庫主要用于分析hprof。 代碼利用了MAT
- leakcanary-android-no-op : 空實現,為了方便在release時調用
- leakcanary-android : debug時調用,組織監聽、分析、展示結果等邏輯。
- leakcanary-sample : 官方調用示例
- leakcanary-watcher : 引用監聽
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!