Android两个AsyncTasks串行还是并行执行? - 第二个是冻结但结果还可以

Geo*_*dis 13 java android android-asynctask progress-bar

我在我的Android应用程序中运行两个AsyncTask任务,这些任务来自同一个类但具有不同的参数.例如:

new myAsynckTask(a,b,c).execute();
new myAssyncTask(a,d,e).execute();
Run Code Online (Sandbox Code Playgroud)

它们是并行执行还是按顺序执行?我问这个是因为当第一个开始时,显示执行的进度,当完成时我看到第二个需要更多时间才能完成但我看不到进度(我能看到矩形但进度条)没有显示20%..等等).这就像冻结但结果还可以.

我想要做的是按顺序运行它们,并能够看到它们中的两个进度.我在Android Jelly Bean 4.2.2 API Level 17上运行应用程序

Com*_*are 42

它们是并行执行还是按顺序执行?

如果您android:targetSdkVersion的身高等级为13或更高,并且您使用的是Android 3.2或更高版本的设备,则会以串行方式执行.

如果您在Android 1.5上运行,它们将以串行方式执行.

否则,它们将并行执行.

您可以通过替换选择加入并行执行execute()executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR).

如需更多信息,请参阅的"执行顺序"一节AsyncTask的JavaDocs.