Android Studio使用profile简单优雅的查看内存变化

Android Studio使用profile简单优雅的查看内存变化

  • android项目想必大家对于oom异常都不陌生;但是如何去查看内存变化呢?
    • 在此我给大家推荐两种简单的查看内存方式
    • 还有一种就是利用leakcanary查看.

android项目想必大家对于oom异常都不陌生;但是如何去查看内存变化呢?

在此我给大家推荐两种简单的查看内存方式

Android Studio自带的插件profile;这是一个远远比eclipse中的ADT强大得多的堆栈查看器;
在这里插入图片描述
如图就是这个图标;
使用起来也非常简单,点击后会出现如下界面
Android Studio使用profile简单优雅的查看内存变化_第1张图片
其中第一个是CPU占用变化
MEMORY则是内存,512M则代表手机默认的内存最大占用是512M,不足时候则会根据剩余内存补,一般你可不用管,你的点击这个条目则可以查看内存变化具体信息,
Android Studio使用profile简单优雅的查看内存变化_第2张图片
如上不同的颜色代表项目在不同层次中内存的占用.
如何查看内存泄漏和溢出情况呢?
如图:
Android Studio使用profile简单优雅的查看内存变化_第3张图片
这是我在进行了页面切换时候出现的,在切换之前内存是94.1M
Android Studio使用profile简单优雅的查看内存变化_第4张图片
切换到其他页面时候为103.2M
Android Studio使用profile简单优雅的查看内存变化_第5张图片
finish开启界面后切换回来为94.9M
也就是说这期间有0.8M没有被回收,但是实际上也有可能是由于GC回收器并没调用。那么我们手动调用下
在这里插入图片描述
如图:
Android Studio使用profile简单优雅的查看内存变化_第6张图片
调用之后为90.5M比之前还少,是因为开启APP之前Application中初始化的数据,没调用GC清理.你可以由这样的方法查看内存的总量变化.
Android Studio使用profile简单优雅的查看内存变化_第7张图片
而下面就是某个点的具体内存信息.
你可以比较2次前后的内存然后就可以知道是什么类型的数据占用了内存,没有被释放.

还有一种就是利用leakcanary查看.

相对于profile他是log文本说明;

你可能感兴趣的:(android,内存)