Задать вопрос

Выбор решения для многопоточности в Android?

Из одного курса узнал, что использование Thread и ASyncTask вызывают утечку памяти и нужно использовать rxJava.
Какие ещё есть варианты с плюсами/ минусами? Что на счёт kotlin coroutines?
  • Вопрос задан
  • 815 просмотров
Подписаться 5 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AndroidM
ASyncTask на сколько я знаю ставит выполнение задач в очередь, так что для слишком длинных задан ASyncTask не подходит. Хотя есть метод запустить задачи параллельно, но я бы ни стал его использовать вообще.

Утечки памяти конкретно вызывает не Thread и ASyncTask, а не правильная работа с объектами. К тому же можно использовать слабые ссылки weakreference - что позволит удалить объект из памяти не учитывая эту ссылку.

Если выбирать из Thread и ASyncTask - то я склоняюсь к Thread.

rxJava - это всего лишь библиотека, к тому-же при не правильной работе с ссылками (объектами) так-же возможна утечка памяти.

P.S я такой-же новичок как и ты, могу ошибаться
Ответ написан
Комментировать
Думаю лучше Корутины использовать, ибо они и едят меньше памяти судя по докладам и удобный async, await механизм.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы