In Android Studio
在Android Studio的Monitor-Memory Monitor中,开发者可以找到Allocation Tracker。点击“Start Allocation Trackering”按钮,然后对应用进行相应的操作,最后点击“Stop Allocation Trackering”,按钮待系统创建内存快照即可,如图6.55所示。
图6.55 Allocation Trackering
点击“Start Allocation Trackering”按钮后,在Memory Monitor上会出现所监控的时间段,如图6.56所示。
图6.56 Allocation Trackering区域
创建好的快照如图6.57所示。
图6.57 Allocation Trackering数据
开发者可以根据Method或者Allocator进行分组,根据count和Size进行排序,查看内存具体在哪个方法分配给了哪些对象,如图6.58所示的快照。显示了大量占用分配内存的方法doBigObjectInMain(),单击鼠标右键,在弹出的快捷菜单中选择jump to the source即可跳转到对应的文件中。
图6.58 查看分配对象
同理,开发者可以根据Allocator分组来查看内存分配的对象,如图6.59所示。
图6.59 内存分配对象
上面两幅图都发现了内存占用的具体原因,即创建了大量的Bitmap,甚至找到了具体创建的方法,这样就可以深入这个方法去检查具体的原因。
