setImageResource耗尽内存

时间:2012-01-15 16:26:06

标签: android

我有一个重复的Runnable任务,每10秒执行一次setImageResource()(资源是一个jpeg文件)。这是活动中唯一重要的事情。

但是,经过几次迭代(2-4)后,应用程序崩溃并出现以下错误:

  • VM不会让我们分配X字节
  • 关闭VM

我没想到这一点。为什么GC不清理以前的jpeg位图?如何避免崩溃VM?

感谢。

2 个答案:

答案 0 :(得分:1)

您必须在之前的位图上调用回收。 Android正在为图像资源分配内存,并且在您用手调用回收方法之前不会释放它。

答案 1 :(得分:0)

您是否尝试在setImageResource()之前将图像设置为null:

object.image = null;
object.setImageResource();