Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

利用Android Studio的 Monitor Memory 查找内存泄漏

$
0
0
App开发总会遇到内存泄漏的情况,在Eclipse时代我们一般使用MAT来配合分析,Android Studio会方便一些,因为它自带了一个Monitor Memory。下面我们来看看怎么使用这个工具。

首先打开Monitor Memory工具



Monitor Memory界面上,我们可以实时观察Memory、CPU等的使用情况。
Memory面板上有两个图标(红圈中),第一个卡车的图标是GC功能,点击可以触发GC;第二个桶状的图标则是统计Memory并生成hprof文件。

我们一般会先触发一次GC,然后再生成hprof文件。hprof文件可以用MAT工具打开来进行分析,当然我们也可以利用Android Studio自带工具来查看。

点击桶状图标,会在Memory面板上显示一个位置,表示生成这个hprof文件的时间位置,如图



同时生成hprof文件并自动打开Android Studio自带的查看工具,如图



这里有三块区域:一区是当前内存中的所有数据类型的相关信息;二区是某个数据类型下的所有对象实例的相关信息;三区是某个对象事例的引用路径。
刚打开的时候,二区和三区是空白的。
当在一区中选中一个数据类型,会在二区中显示这个类型的所有对象实例(注意有的类型的total count是0,表示没有实例)
在二区中选中一个实例,会在三区中显示这个实例的所有引用路径。
通过观察引用路径来找到该实例未回收的原因。

Android Studio的工具用起来很方便,但是功能比较单一,仅仅是查看。所以如果不能很快查找到原因,建议使用MAT或其他一些强大的工具来分析。
作者:chzphoenix 发表于2017/8/10 14:28:20 原文链接
阅读:162 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>