Может ли AsyncTask по-прежнему вызывать действие из onPostExecute (), даже если оно было отменено в onStop ()? - PullRequest
0 голосов
/ 22 января 2020

У меня есть задача asyn c, которая работает хорошо, однако я вижу случайные сбои у пользователей на игровой консоли.

Очевидно, вызывается onPostExecute (), который вызывает функцию действия, которая выполняет findViewById () который возвращает ноль.

Теперь возможно действие и представление больше не существует, но AsyncTask отменяется в функции onStop () actvity. Как тогда можно вызвать onPostExecute ()?

Я нашел это в документации по onStop ():

protected void onStop () Добавлен на уровне API 1 Вызывается, когда вы больше не видны пользователю. Затем вы получите либо onRestart (), onDestroy (), либо ничего, в зависимости от последующей пользовательской активности.

Обратите внимание, что этот метод никогда не может быть вызван в ситуациях с нехваткой памяти, когда система не имеет достаточно памяти, чтобы процесс вашей деятельности работал после вызова метода onPause ().

...

Возможно ли это у всех пользователей мало памяти и onStop () не вызывается? Или есть более простое объяснение?

...