尽管尺寸小,但背景图像存在内存问题

Memory problems with background images despite small size

我的 Android 应用程序有一对垂直和水平布局的背景图片。它们是总大小为 236 KB 的 jpeg 图片。

不过我让 运行 内存不足,并显示错误消息 "Out of memory on a 23047212-byte allocation"

我怎样才能拥有一个要求分配 23 MB 的资源,而背景图像总计 236 KB?

只有在我的活动中使用背景图片时才会出现此问题。

图片文件的大小(以 KB 为单位)与此问题没有直接关系,但图片的大小(以像素为单位)与其他因素也有关系。 所以如果你想减少内存消耗,最简单的方法就是使用尺寸较小的图像。

这个问题可能对您有帮助:

Android background image memory usage

另一个问题是 Android 不会自动释放用于图像数据的本机数组,其释放方式与 GC 时间中其他 java 对象的释放方式相同。恕我直言,您需要跟踪裁判数量并自行发布。但前提是你一直有很多新图像。比如一长串图片或带有头像的用户。或者可能是您的背景一次又一次地加载。