我目前正在使用 asyncTask()
随着我的 Activity 的进展进行位图图像的一些后台交换,并且一切正常;直到我结束任务所在的 Activity 。任务的线程进入“等待”状态而不是被销毁?我已取消,并检查了 .isCancelled()
的返回值。这实际上并不是一个问题,除非当我从 MAIN Activity 再次重新启动我的 Activity 时,它实际上会为新的 asyncTask()
创建一个新线程;从而让旧的那个坐在后台“等待”?这是一个错误,还是我只是错误地使用了此功能?
最佳答案
AsyncTask 使用线程池。您在调试面板中看到 4/5 异步任务是正常的。只需确保您的异步任务不持有对 Activity 的强引用(尝试使这些异步任务成为静态内部类(或事件单独的类),并让它们持有对 Activity 的弱引用而不是强引用。
- Background task, progress dialog, orientation change - is there any 100% working solution?
- AsyncTask threads never die
- Simple Thread Management - Java - Android
- 等等。 > 尝试搜索“android asynctask 线程池”以了解更多信息。
关于Android:正确销毁asyncTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5741995/