Android性能优化 -- Memory Monitor工具检测内存泄露

今天有遇到一条Auto test的memory leak issue.

image

##Android profile
Android Studio自导的Memory Monitor可以方便的观察堆内存的分配情况,并且可以粗略的观察有没有发生Memory Leak。入口: Android studio-> View -> android profile-> 选择被监控的apk
image

##memory monitor
image

  • 水平方向是时间轴,竖直方向是内存的分配情况;
  • 图中深蓝色的区域,表示当前正在使用中的内存总量;浅蓝色或浅灰色区域,表示空闲内存或者叫做未分配内存。
  • 左上角工具栏三个圆圈按钮依次代表:initiate GC、内存快照(Dump Java Heap)、Allocation Tracking。
    1
    2
    3
    initiate GC:手动触发GC操作;
    Dump Java Heap:获取当前的堆栈信息,生成一个.hprof文件(包名+日期+".hprof"),Android Studio会自动使用HeapViewer打开,一般用于操作之后检测内存泄漏的情况;
    Allocation Tracking:内存分配追踪工具,用于追踪一段时间内的内存分配使用情况。能够知道执行某些操作后,有哪些对象被分配空间。

##HPROF Viewer使用
fetching result
image