内存泄漏一个图像

时间:2018-04-09 22:22:06

标签: android memory-leaks android-imageview

嗨,我的照片有内存泄漏。我不确定为什么它是泄漏,因为图像本身并不比文件夹中的任何其他图像大,当我删除该图像时,内存分配从90mb降至40mb。它自己的图像只有75kb,我有点困惑。

附图是图像。 如果可以,请帮助我。

谢谢

std::shared_ptr<Polygon>

enter image description here

1 个答案:

答案 0 :(得分:0)

您已经看到压缩图像尺寸与未压缩图像尺寸之间的差异。

您的PNG文件为compressed,意味着tricks已用于以较小的方式存储数据。 将其加载到位图时,它会被解压缩,因为需要每个像素存储器。

您可以阅读有关确定位图herehow to use less memory for a bitmap, at the cost of losing color depth.

大小的详情

让我们看一个过于简化的例子:

使用示例图像,PNG可能会存储

等数据
rectangle x1,y1 to x2,y2 is white, rectangle x3, y3 ...

这意味着图像中的每个区域只需要4个坐标和一个颜色。但是,在位图中,它将存储为

pixel x1, y1 is white, pixel x2, y2 is white, ...

如您所见,此表示需要更多数据。优点是可以直接访问它,而不需要首先解压缩它。