can anybody have any idea how to stop ASyncTask thread in android?.
实际上我有一个创建线程并执行它们的循环。当这个循环结束时,我想停止所有运行的线程。 无论如何要阻止线程?
非常感谢。
答案 0 :(得分:41)
根据我对AsyncTask
的体验,调用cancel(boolean mayInterruptIfRunning)
并不一定会停止执行后台进程。所有这一切似乎都会导致AsyncTask
执行onCancelled()
,而 会在完成后运行onPostExecute()
。行为可能取决于您在doInBackgound()
答案 1 :(得分:1)
在我的情况下,我使用HttpPost,HttpGet等执行服务器请求。我发现结束AsyncTask的唯一方法是调用abort()方法,如下例所示
if (isCancelled) {
try {
//cancel the task and immediately abort the HttpRequest
uploadTask.cancel(true);
post.abort();
} catch (UnsupportedOperationException e) {
e.printStackTrace();
}
}