Не удалось найти ответ на вопрос, какой из следующих способов использования AsyncTask
лучше (производительность, управление памятью, дизайн мудрый)?Класс AsyncTask VS Объект AsyncTask
ОБЪЕКТ Пример
class AsyncTaskObjectExample {
protected AsyncTask<String, Integer, Boolean> asyncTaskObject = new AsyncTask<String, Integer, Boolean>() {
@Override
protected Boolean doInBackground(String... params) {
/* YOUR PROCESSES */
return true;
}
};
}
КЛАСС Пример
class AsyncTaskClassExample {
class AsyncTaskClass extends AsyncTask<String, Integer, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
/* YOUR PROCESSES */
return true;
}
}
}
Знаете ли вы о утечке памяти? –
Я знаю об анонимном внутреннем классе. Но вы видите, что в классовом сценарии мы наследуем. Это может означать что-то с точки зрения управления памятью. Кроме того, мы можем создать объект уровня функции «AsyncTaskClassExample», но «AsyncTaskObjectExample» может быть только объектом уровня класса. Разве это ничего не значит? –
@PareshMayani Довольно уверен, что это только проблема, если вы передаете «Активность» и сохраняете ссылку на нее в задаче. – PPartisan