我需要执行多个AsyncTask
,然后收集它们的所有结果,整合并将最终结果返回给用户。
我正在寻找在Android中管理多个AsyncTask
的方法。我考虑使用Java Concurrency包中的ExecutorService
,但我遇到了问题,因为ExecutorService
只接受Runnable或Callable。为了满足我的需求,我可以使用
ExecutorService.invokeAll((Collection<? extends Callable<T>> tasks)
当所有提交的任务都完成时,invokeAll()
方法将仅返回List<Future><V>>
列表,并且我可以从相应的Future
中获取每个任务的结果。
除了AsyncTask
无法被ExecutorService
接受之外,ExecutorService
一切正常。
是否有其他方法可以同时使用AsyncTask
和ExecutorService
,如果可以,请推荐不同的方法。