2011-08-17 62 views
0

在我的应用程序的参考我已经存储了一些图像绘制,我在自定义列表视图中显示这些图像。当活动被打开和关闭时,图像被分配。当我连续12次执行此操作时,我的应用程序崩溃,并且因为内存超出图像异常而说。如何清除AsyncTask

然后通过一些其他问题在堆栈溢出我通过清除回收清除内存。但仍然会继续发生同样的错误。其他人建议,这可能是由于在活动结束时没有给出finish()。我也试过,但同样的错误继续。然后我尝试清除图像视图。

但毕竟这是我运行应用程序的次数增加,但同样的错误继续下去,它说,由于OutOfMemoryError。我不知道在这里做什么

现在我的疑问是,我通过异步任务调用此活动。尽管活动已完成,但是用于创建类的引用的异步任务。所以我担心因为这个应用程序崩溃。

如果我的疑问是对的,请告诉我如何在完成活动后检查asyn任务的参考是否存在。如果是有如何清除它,

请帮助我的朋友.....

回答

1

异步任务的对象将被垃圾收集,如果的AsyncTask完成后,你就不再持有对它的引用。我怀疑这是除非你持有Asynctask对象列表的原因。如果你担心它,那么一旦你从Asynctask获得数据,将其引用设置为null。

我的猜测是你刚从图像中耗尽内存。 Android中的图像处理在处理大量图像时可能很困难。当我遇到这个问题时,这个线程相当有帮助。基本上它说降低图像质量,所以它占用更少的内存。

Strange out of memory issue while loading an image to a Bitmap object