Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何清除AsyncTask的引用_Android_Android Asynctask_Out Of Memory - Fatal编程技术网

Android 如何清除AsyncTask的引用

Android 如何清除AsyncTask的引用,android,android-asynctask,out-of-memory,Android,Android Asynctask,Out Of Memory,在我的应用程序中,我在drawable中存储了一些图像,并在自定义列表视图中显示这些图像。当活动打开和关闭时,图像将被分配。当我连续12次这样做时,我的应用程序崩溃了,它说是因为内存不足的图像异常 然后,我通过清除循环来清除堆栈溢出中的一些其他问题。但同样的错误仍在继续。其他一些人认为这可能是因为在活动结束时没有给出finish()。我也试过了,但同样的错误还在继续。然后我也尝试清除图像视图 但在所有这些之后,我运行应用程序的次数增加了,但同样的错误继续出现,它说是因为OutOfMemoryEr

在我的应用程序中,我在drawable中存储了一些图像,并在自定义列表视图中显示这些图像。当活动打开和关闭时,图像将被分配。当我连续12次这样做时,我的应用程序崩溃了,它说是因为内存不足的图像异常

然后,我通过清除循环来清除堆栈溢出中的一些其他问题。但同样的错误仍在继续。其他一些人认为这可能是因为在活动结束时没有给出finish()。我也试过了,但同样的错误还在继续。然后我也尝试清除图像视图

但在所有这些之后,我运行应用程序的次数增加了,但同样的错误继续出现,它说是因为OutOfMemoryError。我不知道在这里该怎么办

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

如果我的怀疑是正确的,请告诉我如何检查asyn任务的引用是否存在,即使在完成活动之后。如果有,如何清除它


请帮助我的朋友

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

我的猜测是你的图像内存不足。安卓系统中的图像处理在处理大量图像时可能会很困难。当我遇到这个问题时,这条线索帮助很大。基本上,它说的是降低图像质量,从而减少内存占用