Android 4.0 asynctask同时不可能

Qua*_*ium 7 multithreading android android-asynctask android-4.0-ice-cream-sandwich

我有同样的问题同时运行多个AsyncTasks - 不可能吗? 除了我使用android 4.0与android:minSdkVersion ="14".

我试过他的例子,并得到:

bar bar bar
bar bar bar
bar bar bar
Run Code Online (Sandbox Code Playgroud)

编辑:

我在这里找到了解决方案

而不是使用:

task.execute();
Run Code Online (Sandbox Code Playgroud)

使用 :

task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, null);
Run Code Online (Sandbox Code Playgroud)

Tob*_*zau 6

听起来像是这样解释了(来自文档):

首次引入时,AsyncTasks在单个后台线程上串行执行.从DONUT开始,这被改为一个线程池,允许多个任务并行运行.从HONEYCOMB开始,任务在单个线程上执行,以避免由并行执行引起的常见应用程序错误.

如果您真的想要并行执行,可以使用THREAD_POOL_EXECUTOR调用executeOnExecutor(java.util.concurrent.Executor,Object []).

  • 使用代码示例,而不是调用`myAsyncExtendingClass().execute()`,而不是调用`myAsyncExtendingClass().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,"");` (2认同)