2012-07-09 68 views
1

基本上我想開始一個接一個地串行執行的幾個線程。我正在使用Thread.join()。但是應用程序類型掛起和進入ANR狀態。我想知道把一個AsyncTask放到一個循環中會一個接一個地執行所有的任務,還是會並行執行?循環內的AsyncTask

for(String s : list) 
{ 
    new asynctask(s).execute(); 
} 
+2

考慮使用IntentService.You可以添加Queue.Which任務的線程連續非UI就會執行。 – 2012-07-09 06:21:57

回答

2

基本上我想要啓動哪些 另一個之後連續依次執行的線程數。

閱讀本聲明後立即想到的是您應該考慮使用IntentService而不是每次創建新的任務。

基本上IntentService是

的IntentService接收經由意圖,其中包括 可以完成該任務的某些信息的請求。然後將該任務 添加到隊列中,然後按順序和異步完成所有任務 。

使用IntentService的好處是

這將保證該操作將至少有「服務過程」優先,不管發生什麼情況activity.It強烈建議當你要下載多個文件順序。

在這裏你會發現很好的教程,如何實施IntentService

http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/

+0

+1好答案。 – 2012-07-09 06:40:07

+0

@Vipul:非常感謝。 – 2012-07-09 06:53:57