多个AsyncTask与一个AsyncTask中的多个请求

时间:2015-10-27 20:34:25

标签: android android-asynctask

我{m} following this tutorial创建一个XML阅读器,其中包含一次下载多个Feed的选项。同时执行多个AsyncTasks(最多3个)有什么缺点吗?我要添加一个计时器来检查它们是否已完成。

3 个答案:

答案 0 :(得分:0)

它们不会同时运行,而是连续运行。见here

  

首次引入时,AsyncTasks在单个上串行执行   背景线程。从DONUT开始,这被改成了一个池   允许多个任务并行运行的线程。从...开始   HONEYCOMB,任务在单个线程上执行以避免常见   并行执行导致的应用程序错误。

     

如果您真的想要并行执行,可以调用   executeOnExecutor(java.util.concurrent.Executor,Object [])with   THREAD_POOL_EXECUTOR

答案 1 :(得分:0)

Running multiple AsyncTasks at the same time -- not possible?有可能。然而,可能是,由于cpu取决于每个设备,一个比另一个快。但是,正如@Alex已经回答的那样,你不会得到“真正的”多任务处理。我还没想过,在一个AsyncTask中做这一切的速度更快。您可以重用您在服务器上建立的连接。

答案 2 :(得分:0)

为了更好的架构,我将为每个请求选择1个AsyncTask。管理实际请求更容易。此外,修改(添加/删除请求)会更容易。

执行多个AsyncTasks的缺点取决于您对AsyncTask生命周期的了解。你需要正确执行它(取决于Android版本)。

关于异步任务的黑暗面的好文章http://bon-app-etit.blogspot.com.by/2013/04/the-dark-side-of-asynctask.html