gpt4 book ai didi

android - AsyncTask 执行()或 executeOnExecutor()?

转载 作者:IT王子 更新时间:2023-10-28 23:46:51 30 4
gpt4 key购买 nike

使用 execute() 有什么区别?和 executeOnExecuter() ?

  • execute() 怎么样?默认执行任务? (串行还是并行?)

  • 新的 SDK >16 应该使用什么?

  • 对任务使用并行执行(THREAD_POOL_EXECUTOR)而不是串行执行是否是一种好习惯,即使这对应用程序无关紧要,或者这取决于 AsyncTask 的数量s 会被执行吗?

最佳答案

.execute() - 此函数将任务安排在单个后台线程的队列中。表示如果你调用两个 AsyncTask 并使用 .execute() 方法调用它们,它们将在队列中执行(先执行后第二)。

.executeOnExecutor() - 如果你想并行执行两个AsyncTask,你可以使用这个方法来执行AsyncTask。意味着两个 asyncTask 将同时执行。

简单来说:.execute() 方法创建一个单独的线程来执行 asyncTask,而 .executeOnExecuter() 方法为每个 ayncTask 创建单独的线程。

.execute 默认按顺序执行任务。

已编辑:如果你想使用 executeOnExecutor() 你可以使用这个代码:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
else
task.execute();

在 HONEYCOMB execute() 方法之前并行运行 AsynkTask。

关于android - AsyncTask 执行()或 executeOnExecutor()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29937556/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com