在Android 1.6中排队多个异步任务

时间:2011-10-27 03:10:24

标签: android multithreading android-asynctask

我在同一个代码块中运行了两个异步任务,并且两个任务的doInBackGround部分同时运行,这导致了问题。根据下面在android 1.5中链接的文章,Async Tasks按执行顺序自动执行,但此功能已针对Android 1.6删除。我找到的所有Async Task排队资源都主张使用threadPool,但这只适用于Honey Comb。有关正确处理此问题的方法的任何建议吗?

文章:parallel execution of AsyncTask

1 个答案:

答案 0 :(得分:4)

AsyncTask.get()会导致调用线程块执行并等待它完成,你可以这样做:

myAsyncTask1.execute();
myAsyncTask1.get();
myAsyncTask2.execute();

这将保证第一个完成后执行第二个AsyncTask,请记住AsyncTask.get()阻止线程执行,所以如果你在UI线程中调用它,你可能会得到ANR异常。

相关问题