Где использовать, а где не использовать AsyncTask? - PullRequest
0 голосов
/ 27 февраля 2020

Я использовал Android AsyncTask и AsyncTaskLoader. Я хочу знать причину, по которой в некоторых приложениях мы используем AsyncTask, а в некоторых - AsyncTaskLoader. Является ли AsyncTask бесполезным, и мы можем использовать AsyncTaskLoader везде? Если да, то почему? Пожалуйста, помогите мне понять. Спасибо.

1 Ответ

1 голос
/ 27 февраля 2020

Официальное заявление Google:

AsyncTask предназначался для обеспечения правильного и простого использования потока пользовательского интерфейса. Тем не менее, наиболее распространенный вариант использования был для интеграции в пользовательский интерфейс, и это может привести к утечке контекста, пропущенным обратным вызовам или сбоям при изменении конфигурации. Он также имеет противоречивое поведение в разных версиях платформы, глотает исключения из doInBackground и не предоставляет много полезного для непосредственного использования Executors.

Этот класс устарел на уровне API R.

И если кратко о разнице между этими классами, то AsyncTaskLoader предотвращает дублирование фоновых потоков и устраняет дублирование уничтоженных действий.

...