Android应用程序通常具有较少的堆内存量。这就是为什么你总是需要避免拿着大物体。
因为我正在处理的应用程序可以在某些情况下获得OOM,我认为我应该检查导致内存不足的原因。
我使用了MAT plugin,我发现应用程序有3个位图,每个位图需要3.5MB。
该应用已经使用了多个位图,但它们更小(每个小于1MB)。
事实上我甚至设置了断点来确保我创建的每个位图都没有占用太多内存,也没有找到任何内容。我还看过一些关于此事的谷歌IO视频(如this one)。似乎为了查看哪个类具有对象的引用,您单击该对象并选择“GC根路径”=>“排除弱引用”。
你可以在dominator-tree中看到哪个位图占用最多(查看“保留堆”)。
为了导出数据,您可以选择字节数组,然后“复制”=>“将值保存到文件”。
然而,就像其他人尝试on this post一样,我只是在显示位图本身(需要知道它的格式,宽度和高度)。加上使用GIMP完成这项任务可能会非常烦人。
如何在eclipse中查看位图(图像本身)?