Я хочу иметь различные асинхронные потоки в приложении, как около 5-10 нитей для фоновых задач, которые могут быть долго работает (как потоковые), и я также обновления пользовательского интерфейса опубликовать некоторые результаты, если это необходимо.Выполнение фоновых задач - альтернатива AsyncTask?
Из того, что я слышал, что AsyncTask имеет проблемы с:
- Длинные задачи бегущих,
- Имея плохо привязываясь к жизни активность цикла,
- проблемы ориентации устройства, и
- утечки памяти и так далее.
Итак, я ищу альтернативу (возможно, без использования каких-либо сторонних библиотек), которая не имеет этих проблем.
Должен ли я быть лучше с использованием простых Java-потоков? Я не против использовать их, учитывая, что они не будут создавать проблем с AsynTask.
Если вы хотите, чтобы AsyncTask была привязана к жизненному циклу Activity/Fragment, вы можете подклассифицировать AsyncTaskLoader. Кстати, BTW работает с 10 потоками для очень многих устройств, специально для старых, что означает, что вам нужно иметь алгоритм, который масштабируется на основе емкости устройства. – Enzokie
Да, не обязательно 10 за раз для всех устройств, но это может быть просто возможность запускать некоторые из них параллельно, не потребляя тяжелых ресурсов. – user963241