我有一个重复的Runnable任务,每10秒执行一次setImageResource()(资源是一个jpeg文件)。这是活动中唯一重要的事情。
但是,经过几次迭代(2-4)后,应用程序崩溃并出现以下错误:
我没想到这一点。为什么GC不清理以前的jpeg位图?如何避免崩溃VM?
感谢。
答案 0 :(得分:1)
您必须在之前的位图上调用回收。 Android正在为图像资源分配内存,并且在您用手调用回收方法之前不会释放它。
答案 1 :(得分:0)
您是否尝试在setImageResource()之前将图像设置为null:
object.image = null;
object.setImageResource();