我的Android应用程序上有垂直和水平布局的一对背景图像。它们是jpeg图像,总大小为236 KB。
我的内存不足,但错误消息为"Out of memory on a 23047212-byte allocation"
。
如何让资源需要23 MB的分配,背景图像总共为236 KB?
仅在我的活动中使用背景图像时才会出现此问题。
答案 0 :(得分:0)
以KB为单位的图像文件大小与此问题无直接关系,但与其他因素一样,图像大小也以像素为单位。 因此,如果您想减少内存消耗,最简单的方法是使用尺寸较小的图像。
这个问题可能会对您有所帮助:
答案 1 :(得分:0)
另一个问题是,Android不会像GC时间中的其他java对象那样自动发布用于图像数据的本机数组。 Imho你需要跟踪裁判的数量并自己释放。但只是在你总是有很多新图像的情况下。像一个很长的图片列表或具有头像的用户。或者可能是您的背景一次又一次地加载。