Android Studio + MAT 內存泄露分析

前提 ThirdActivity 已經關閉,回到了MainAcitivity。應該是隻有回到了MainAcitivity的。 經過 Profiler 看到還有 ThirdActivity,那就是它有內存泄露。android

一、首先利用 Profiler GC 打點,下載 hpof。固然也能夠在Profiler中查看Activity是否有泄露,可是具體不到在哪裏。bash

二、下載 MAT eclipse.org/mat/ 單獨的一個工具 直接打開 hpof 是不行的,須要轉換一下,若是 android sdk目錄 sdk/platform-tools中沒有 hprof-conv ,那麼就下載一個放進去就行了。app

hprof-conv D:\before.hprof D:\after.hprof
複製代碼

而後就用MAT 打開就行了。 一、SQL 篩選Activity 等目標eclipse

select * from instanceof android.app.Activity
複製代碼

二、找到根節點的引用 若是還有引用那麼確定是泄露了啊,應該沒有這個 Acitity的,既然存在,那麼就有GC root 的引用,致使不能內存回收。 工具

對就是它。學習

固然分析的東西和功能不少,還有兩個 hpof 對比,找到區別點,進行定位。spa

完畢~~.net

本文屬於粗糙筆記,能夠詳細看參考文章來學習這一塊。3d

『參考文章』:code

blog.csdn.net/junhuahouse…

blog.csdn.net/itachi85/ar…

相關文章
相關標籤/搜索