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