1

背景

android 应用程序通常为它们提供少量的堆内存。这就是为什么你总是需要避免拿着大的物体。

由于我正在开发的应用程序在某些情况下可能会导致 OOM,我认为我应该检查导致内存不足的原因。

我使用了MAT 插件,我发现该应用程序有 3 个位图,每个位图占用 3.5MB。

问题

该应用程序已经使用了多个位图,但它们要小得多(每个不到 1MB)。

事实上,我什至设置了断点以确保我创建的每个位图都不会占用太多内存,但什么也没找到。

我也看过一些关于这个问题的谷歌 IO 视频(比如这个)。似乎为了查看哪个类引用了该对象,您单击该对象并选择“GC 根路径”=>“排除弱引用”。

我试过的

您可以在支配树中看到哪些位图占用最多(查看“保留堆”)。

为了导出数据,您可以选择字节数组,然后“复制”=>“将值保存到文件”。

然而,就像其他人在这篇文章中尝试过的一样,我一直坚持显示位图本身(需要知道它的格式、宽度和高度)。另外,使用 GIMP 来完成这项任务可能会很烦人。

问题

如何在 Eclipse 中查看位图(图像本身)?

4

0 回答 0