基本上我想開始一個接一個地串行執行的幾個線程。我正在使用Thread.join()
。但是應用程序類型掛起和進入ANR狀態。我想知道把一個AsyncTask放到一個循環中會一個接一個地執行所有的任務,還是會並行執行?循環內的AsyncTask
for(String s : list)
{
new asynctask(s).execute();
}
基本上我想開始一個接一個地串行執行的幾個線程。我正在使用Thread.join()
。但是應用程序類型掛起和進入ANR狀態。我想知道把一個AsyncTask放到一個循環中會一個接一個地執行所有的任務,還是會並行執行?循環內的AsyncTask
for(String s : list)
{
new asynctask(s).execute();
}
基本上我想要啓動哪些 另一個之後連續依次執行的線程數。
閱讀本聲明後立即想到的是您應該考慮使用IntentService而不是每次創建新的任務。
基本上IntentService是
的IntentService接收經由意圖,其中包括 可以完成該任務的某些信息的請求。然後將該任務 添加到隊列中,然後按順序和異步完成所有任務 。
使用IntentService
的好處是
這將保證該操作將至少有「服務過程」優先,不管發生什麼情況activity.It強烈建議當你要下載多個文件順序。
在這裏你會發現很好的教程,如何實施IntentService
。
http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/
+1好答案。 – 2012-07-09 06:40:07
@Vipul:非常感謝。 – 2012-07-09 06:53:57
考慮使用IntentService.You可以添加Queue.Which任務的線程連續非UI就會執行。 – 2012-07-09 06:21:57