android循环内部asynctask或asynctask内部循环

时间:2017-06-27 14:05:51

标签: android loops android-asynctask

我有要与云同步的项目列表。我们说它有10个项目,所以我必须向服务器发出10个HTTP请求。问题是:我应该使用哪种方法以及为什么?

  1. 一个异步任务中的foreach循环
  2. foreach循环中的10个异步任务?

1 个答案:

答案 0 :(得分:2)

最好是让一个AsyncTask并循环进入。这就是为什么: 默认情况下,所有AsyncTasks将在一个后台线程上(使用API​​ 11+,例如Honeycomb),因此您的10个任务仍将按顺序执行,但同时将占用更多内存。所以最好只运行一个AsyncTask,如果你需要 - publishProgress执行过程。

Here是关于拥有多个AsyncTask的答案。

另一种方法是将Executor传递给您的AsyncTask,这样就可以突破同时运行AsyncTask的限制。但它仍然可以真正消耗内存。

您可能还想阅读this Android开发者指南。