А для чего именно ты использовал Async Task?
Async Task имеет некоторые, скажем так, особенности в применении, если их не учитывать, то можно получить проблемы. Навскидку, например:
- Все Асинк Таски выполняются в ОДНОМ фоновом потоке, по - очереди.
- Если запустить Асинк Таск на долгую задачу и вызвать смену ориентации экрана, то Активность запустившая Асинк Таск уничтожиться, но сам Асинк Таск продолжит работу. Более того, по завершении он попытается отдать данные уничтоженной Активности, в результате работа была проделана зря. Также может быть выброшено исключение, если Асинк Таск попытается обратиться к View уничтоженной Активности.
- Различные утечки памяти. Например, Асинк Таск реализованный как внутренний класс в Активности, не даст удалить сборщику мусора Активность пока работает Асинк Таск.
Про утечки можешь почитать здесь:
habrahabr.ru/company/sebbia/blog/243537
habrahabr.ru/company/badoo/blog/240479
Короче говоря, Асинк Таск применяется для коротких (секунды) и редких задач. Нужно ясно представлять для чего именно подходит данный класс, иначе можно наломать дров. Нужно понимать принципы работы Асинк Таска, Лоадеров, Сервисов и уметь обосновать их применение.