android - 在 Android 1.6 中对多个异步任务进行排队

标签 android multithreading android-asynctask

我在同一代码块中运行两个异步任务,并且两个任务的 doInBackGround 部分同时运行,这导致了问题。根据下面链接的文章,在 android 1.5 中,异步任务会按执行顺序自动排队,但此功能在 Android 1.6 中已被删除。我发现的所有异步任务队列资源都提倡使用 threadPool,但这仅适用于 Honey Comb。关于处理此问题的正确方法有什么建议吗?

文章:parallel execution of AsyncTask

最佳答案

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

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

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

关于android - 在 Android 1.6 中对多个异步任务进行排队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7911333/

相关文章:

java - 我正在尝试检查网站状态是否在线

android - 如何向 Android pico TTS 引擎添加声音?

c++ - 同时对象调用

Android - 异步任务的替代方案?

java - 如何对 JSP 和通过单独进程发送的电子邮件使用相同的内容?

.net - C# 如果我以优先级 = RealTime 运行进程,GC 会发生什么?

Android编辑文本显示奇怪的文字

java - libgdx,java - 尝试从另一个类调用 .render()

android - 错误 : Program type already present: android. support.v4.accessibilityservice.AccessibilityServiceInfoCompat

android - 受信任应用程序的 Secure Rest API