【发布时间】:2012-03-18 13:47:48
【问题描述】:
我需要执行多个AsyncTasks,然后收集它们的所有结果,合并然后将最终结果返回给我的用户。
我正在寻找一种在 Android 中管理多个 AsyncTasks 的方法。我正在考虑使用 Java Concurrency 包中的ExecutorService,但我卡住了,因为ExecutorService 只接受 Runnables 或 Callables。为了确定我的要求,我可以使用
ExecutorService.invokeAll((Collection<? extends Callable<T>> tasks)
invokeAll() 方法只会在所有提交的任务都完成后返回List<Future><V>> 的列表,并且我可以从对应的Future 获取每个任务的结果。
ExecutorService 一切正常,因为它不接受 AsyncTask。
还有其他方法可以使用AsyncTask 和ExecutorService,或者如果您可以推荐不同的方法。
【问题讨论】:
标签: android multithreading asynchronous android-asynctask executorservice