In DDMS

DDMS中同样有一个Allocation Tracker工具,如图6.60所示。

In DDMS - 图1 图6.60 Allocation Tracker

使用方法与Android Studio中的工具基本类似,点击Start Tracking按钮即可开始跟踪内存分配,点击Get Allocations按钮即可完成跟踪,并生成内存快照(与Android Studio中一样,生成快照需要一定的时间,请耐心等待),如图6.61所示。

In DDMS - 图2 图6.61 Allocation Tracker数据

在内存分配的列表中,可以根据任意列进行排序,同时点击相应的数据,在下面可以看见其具体的分配调用栈。从图6.61中,我们找到了占内存最多的byte[]数组(实际上就是创建的图像文件),同时也找到了它所占内存的调用栈,doBigObjectInMain()这里的方法。