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



我在同一代码块中运行两个异步任务,两个任务的doInBackGround部分同时运行,这导致了问题。根据下面链接的文章,在android 1.5中,异步任务是根据执行顺序自动排队的,但这个功能在android 1.6中被删除了。我找到的所有异步任务队列资源都提倡使用threadPool,但这只适用于honeycomb。有什么正确的方法来处理这个问题吗?

文章:AsyncTask的并行执行

AsyncTask.get()将导致调用线程阻塞执行并等待它完成,您可以这样做:

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

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

最新更新