按下后退时如何清除位图(Java OOM错误)?

时间:2015-04-01 05:26:24

标签: java android bitmap

我的应用程序使用了许多大图像。我想要清除背面的位图,而不是请求使用本机内存。 Android Manifest已经说明了对largeHeap的必要使用,所以这不是问题。问题在于大量的位图。可以使用后退按钮完成吗?

我收到了java内存错误。即使启用了largeHeap,位图组合大小也会超​​出分配的内存。

更新:每个活动都有自己的位图。当应用程序达到大约10个活动,10个位图时,就会出现内存不足错误。

2 个答案:

答案 0 :(得分:0)

在开始新bitmap.recycle()之前,请先使用activity查看您使用的所有图片。

答案 1 :(得分:0)

使用SoftReference保存Bitmap。当内存不足时,GC会将其清除,或者您可以尝试使用bitmap.recycle()