利用Android Studio的 Monitor Memory 查找内存泄漏
生活随笔
收集整理的這篇文章主要介紹了
利用Android Studio的 Monitor Memory 查找内存泄漏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
App開發(fā)總會遇到內(nèi)存泄漏的情況,在Eclipse時代我們一般使用MAT來配合分析,Android Studio會方便一些,因為它自帶了一個Monitor Memory。下面我們來看看怎么使用這個工具。
首先打開Monitor Memory工具
在Monitor Memory界面上,我們可以實時觀察Memory、CPU等的使用情況。
在Memory面板上有兩個圖標(biāo)(紅圈中),第一個卡車的圖標(biāo)是GC功能,點擊可以觸發(fā)GC;第二個桶狀的圖標(biāo)則是統(tǒng)計Memory并生成hprof文件。
我們一般會先觸發(fā)一次GC,然后再生成hprof文件。hprof文件可以用MAT工具打開來進行分析,當(dāng)然我們也可以利用Android Studio自帶工具來查看。
點擊桶狀圖標(biāo),會在Memory面板上顯示一個位置,表示生成這個hprof文件的時間位置,如圖
同時生成hprof文件并自動打開Android Studio自帶的查看工具,如圖
這里有三塊區(qū)域:一區(qū)是當(dāng)前內(nèi)存中的所有數(shù)據(jù)類型的相關(guān)信息;二區(qū)是某個數(shù)據(jù)類型下的所有對象實例的相關(guān)信息;三區(qū)是某個對象事例的引用路徑。
剛打開的時候,二區(qū)和三區(qū)是空白的。
當(dāng)在一區(qū)中選中一個數(shù)據(jù)類型,會在二區(qū)中顯示這個類型的所有對象實例(注意有的類型的total count是0,表示沒有實例)
在二區(qū)中選中一個實例,會在三區(qū)中顯示這個實例的所有引用路徑。
通過觀察引用路徑來找到該實例未回收的原因。
Android Studio的工具用起來很方便,但是功能比較單一,僅僅是查看。所以如果不能很快查找到原因,建議使用MAT或其他一些強大的工具來分析。
?
總結(jié)
以上是生活随笔為你收集整理的利用Android Studio的 Monitor Memory 查找内存泄漏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剖析Fragment的Pause生命周期
- 下一篇: 在jenkins上配置Android项目