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

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

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

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

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

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