我在我的啓動屏幕Activity
中有三個AsyncTasks
,用於下載緩存的應用程序數據。我不想真正開始下一個活動,直到所有task
完成。如何完成所有AsynTask完成時的活動
有沒有這樣做的有效方法?
這裏是我打電話給我的任務在onCreate
:
TrendingTask task = new TrendingTask(SplashActivity.this);
task.execute();
TrendingWatchingTask task2 = new TrendingWatchingTask(
SplashActivity.this);
task2.execute();
new MasterTask().execute();
他們都稱爲,一前一後。我實際上並沒有開始下一個活動,直到達到MasterTask
的onPostExecute()
。但我相信這是一場賭博,因爲另外兩場可能無法完成。
注:MasterTask
是內部class
而其他兩個是他們自己的類。
你可以確定是否所有的asynctask都是通過查看它們串行還是並行運行來完成的。根據您的API級別,這已經改變了幾次。看看這篇文章(從中間開始)以獲取更多信息:http://bon-app-etit.blogspot.be/2013/04/the-dark-side-of-asynctask.html – dumazy 2013-04-30 08:23:02