我{m} following this tutorial创建一个XML阅读器,其中包含一次下载多个Feed的选项。同时执行多个AsyncTasks(最多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