我在我的
Android应用程序中运行两个AsyncTask任务,这些任务来自同一个类,但具有不同的参数.例如:
new myAsynckTask(a,b,c).execute(); new myAssyncTask(a,d,e).execute();
它们是并行还是连续执行?我问这是因为当第一个启动时,显示执行的进度,完成后,我看到第二个需要更多时间完成但我看不到进度(我可以看到矩形,但进度条不显示20%..等等).这就像冻结,但结果是确定的.
我想做的是按顺序运行它们,并能够看到其中两个进度.
我在Android Jelly Bean 4.2.2 API Level 17上运行应用程序
解决方法
Do they execute in parallel or in a serial order?
如果您的Android:targetSdkVersion为13或更高版本,并且您在Android 3.2或更高版本的设备上运行,则它们将被连续执行.
如果您在Android 1.5上运行,则它们将被连续执行.
否则,它们将被并行执行.
您可以通过将execute()替换为executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)来选择并行执行.
更多信息,请参阅the AsyncTask
JavaDocs的“执行顺序”部分.