【发布时间】:2012-02-10 01:01:47
【问题描述】:
我有一个场景,我必须对我的服务器进行六次 http 调用以获取六个不同项目的数据。这些服务器调用不能组合,它们应该是这样的。例如:如果您需要 GOOGLE 的报价信息,则向服务器发送请求以获取 google 的报价信息。接下来,如果您需要 yahoo,则发起另一个 http 调用,依此类推。
情况如下:
- 现在我的最终用户想要比较 6 家不同的公司。
- 正如我所提到的,我使用 6 个异步任务进行 6 个 http 调用是不可避免的。
- 当我收到每个异步任务响应时,我将使用新数据刷新 UI。
- 如果我在很短的时间内刷新 UI 6 次,那将是糟糕的 UI 体验。
- 它给我的 UI 带来了不想要的闪烁效果。
我的问题:
- 如何在获得所有 6 个异步任务响应之前推迟刷新 UI?
- 我了解每项任务都是相互独立的。我应该运行一个 while 循环并等到我得到所有响应吗?
- 有没有比 while 循环更好的方法来执行此操作,因为如果任何一个调用没有响应,那么我将永远等待。
注意:我猜 Android 1.6+ 确实会并行执行异步任务。
这更像是一个设计问题,如果有任何帮助,我将不胜感激。
提前致谢
【问题讨论】:
标签: java android http asynchronous android-asynctask