加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Android两个AsyncTasks串行或并行执行? – 第二个是冻

发布时间:2020-12-14 05:30:50 所属栏目:Java 来源:网络整理
导读:我在我的 Android应用程序中运行两个AsyncTask任务,这些任务来自同一个类,但具有不同的参数.例如: new myAsynckTask(a,b,c).execute();new myAssyncTask(a,d,e).execute(); 它们是并行还是连续执行?我问这是因为当第一个启动时,显示执行的进度,完成后,我看
我在我的 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的“执行顺序”部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读