java – Android两个AsyncTasks串行或并行执行? – 第二个是冻结,但结果是确定的

前端之家收集整理的这篇文章主要介绍了java – Android两个AsyncTasks串行或并行执行? – 第二个是冻结,但结果是确定的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的 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的“执行顺序”部分.

原文链接:https://www.f2er.com/java/122266.html

猜你在找的Java相关文章