can anybody have any idea how to stop ASyncTask thread in android?.
其实我有一个循环创建线程并执行它们。当这个循环结束时,我想停止所有已经运行的线程。 反正有阻止线程?如何停止android中的ASyncTask线程
非常感谢。
can anybody have any idea how to stop ASyncTask thread in android?.
其实我有一个循环创建线程并执行它们。当这个循环结束时,我想停止所有已经运行的线程。 反正有阻止线程?如何停止android中的ASyncTask线程
非常感谢。
根据我的经验AsyncTask
,调用cancel(boolean mayInterruptIfRunning)
不一定会停止后台进程的执行。看起来似乎发生的是AsyncTask
将执行onCancelled()
,并且将不会完成时运行onPostExecute()
。这种行为可能取决于你在doInBackgound()
是的。在doInBackground()中定期检查isCancelled()以查看是否应该停止工作并完成自己。 – icyerasor 2011-05-03 14:32:24
究竟你有什么代码在我的情况下,我用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();
}
}
是什么让你认为在一个循环分叉线程是摆在首位的好主意看? – CommonsWare 2010-12-13 13:21:32