У меня работает AsyncTask. Если приложение остановлено (телефонный звонок, переключение приложения и т. д.), насколько я понимаю, onPostExecute() никогда не будет вызываться. Таким образом, пока cancel(true) используется для отмены AsyncTask, запущенная задача будет уведомлена об отмене. Я не возражаю против периодической проверки isCancelled() в doInBackground(), но меня беспокоят вызовы publishProgress(), которые замусорен по всему doInBackground. Насколько я понимаю, onProgressUpdate() выполняется в основном потоке пользовательского интерфейса.
Означает ли это, что любые вызовы publishProgress() приведут к сбою приложения, если оно было остановлено? Или это просто любые обновления пользовательского интерфейса внутри onProgressUpdate(), которые вызовут сбой, когда приложение будет остановлено.
Причина, по которой я спрашиваю, заключается в том, что мне интересно, должен ли я квалифицировать каждый вызов publishProgress() проверкой isCancelled() или я могу просто проверить один раз в onProgressUpdate(), прежде чем пытаться обновить какие-либо компоненты пользовательского интерфейса.