Мне нужно выполнить несколько AsyncTask
, а затем собрать все их результаты, консолидировать и затем вернуть конечный результат моему пользователю.
Я рассматриваю способ управления несколькими AsyncTask
в Android. Я думаю использовать ExecutorService
из пакета Java Concurrency, но я застрял, потому что ExecutorService
принимает только Runnables или Callables ONLY. Чтобы установить мое требование, я могу использовать
ExecutorService.invokeAll((Collection<? extends Callable<T>> tasks)
Метод invokeAll()
возвращает список List<Future><V>>
только тогда, когда все отправленные задачи будут завершены, и я могу получить результаты для каждой задачи из соответствующего Future
.
Все хорошо с ExecutorService
ожидать, что он не принимает AsyncTask
.
Есть ли другой способ использования AsyncTask
и ExecutorService
, или если вы можете рекомендовать другой подход.