如何在Android中有效管理多个异步任务

AKh*_*AKh 12 java android asynchronous http android-asynctask

我有这样的场景,我将不得不对我的服务器进行六次http调用,以获取六个不同项目的数据.这些服务器调用无法组合,它们就是这样.例如:如果您需要GOOGLE的报价信息,请向服务器发送请求谷歌报价信息的请求.接下来,如果你需要雅虎,那么你发起另一个http呼叫,依此类推.

情况如下:

  1. 现在我的最终用户希望比较6家不同的公司.
  2. 正如我所提到的那样,我使用6个异步任务进行6次http调用是不可避免的.
  3. 当我得到每个Async任务响应时,我将使用新数据刷新UI.
  4. 如果我在很短的时间内刷新UI 6次,那将是一次糟糕的UI体验.
  5. 它给我的UI带来了闪烁效果,这是不可取的.

我的问题:

  1. 在获得所有6个异步任务响应之前,如何暂停刷新UI?
  2. 我理解每项任务都是相互独立的.我应该运行一个while循环并等到我收到所有响应吗?
  3. 有没有更好的方法来做这个而不是一个while循环,因为如果任何一个调用没有响应,那么我将永远等待.

注意:我猜Android 1.6+会并行执行异步任务.

这更像是一个设计问题,我将不胜感激.

提前致谢

AKh*_*AKh 1

我发现这个解决方案更适合我的问题。此链接描述了建立此目的的几种方法。1.ExecutorService 2.ExecutoreService 和 CountDownLatch

ExecutoreService 和 CountDownLatch