1. Memory Leak内存泄漏:对于Java来说,就是new出来的Object 放在Heap上无法被GC回收(内存中存在无法被回收的对象);内存泄漏发生时的主要表现为内存抖动,可用内存慢慢变少。 1.1 Memory MonitorAndroidStudio自带的Memory Monitor可以方便的观察堆内存的分配情况,并且可以粗略的观察有没有Memory Leak。 频繁的内存抖动,可能存在内存泄漏
点击Memory Monitor的Dump Java Heap,会生成一个.hprof文件,AndroidStudio会自动使用HeapViewer打开。 Hprof Viewer打开.hprof文件 左面板说明:
右面板说明:
此处可以看出MainActivity存在了15个示例对象,怀疑此处有问题。 1.2 MAT上述只是可以粗略的看出是不是有问题,而要知道问题出在哪里就需要借助MAT了。将生成的.hprof文件进行转换,然后使用MAT打开;
MAT打开.hprof 注意下面的Actions:
Retained Heap表示这个对象以及它所持有的其它引用(包括直接和间接)所占的总内存
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|