/ / Czy można bezpiecznie wywoływać metodę publishProgress () w AsyncTask po zatrzymaniu aplikacji? - Android, Android-Asynctask, Cykl życia Androida

Czy można bezpiecznie wywoływać metodę publishProgress () w AsyncTask po zatrzymaniu aplikacji? - Android, Android-Asynctask, Cykl życia Androida

Mam uruchomioną funkcję AsyncTask. Jeśli aplikacja jest zatrzymany (połączenie telefoniczne, przełącznik aplikacji itp.) rozumiem, że funkcja onPostExecute () nigdy nie zostanie wywołana. Tak długo, jak cancel (true) jest używany do anulowania AsyncTask, bieżące zadanie zostanie powiadomione o anulowaniu. Nie mam nic przeciwko sprawdzaniu jest odwołany() okresowo w doInBackground (), ale dotyczy mnie to publishProgress () połączenia, które są zaśmiecone przez doInBackground. Moje zrozumienie jest takie onProgressUpdate () działa na głównym wątku UI.

Czy to oznacza, że ​​wszelkie połączenia z publishProgress () spowoduje awarię aplikacji, jeśli została zatrzymana? Czy jest to po prostu jakakolwiek aktualizacja interfejsu użytkownika w ciągu onProgressUpdate (), która spowoduje awarię po zatrzymaniu aplikacji.

Powodem, dla którego pytam, jest to, że zastanawiam się, czy muszę się zakwalifikować publishProgress () zadzwoń z czekiem jest odwołany() czy mogę po prostu raz sprawdzić? onProgressUpdate () przed rzeczywistą próbą aktualizacji dowolnych składników interfejsu użytkownika.

Odpowiedzi:

2 dla odpowiedzi № 1

Dokumentacja Androida stwierdza:

onProgressUpdate (Postęp ...) nie zostanie wywołany, jeśli zadanie zostało anulowane. developer.android.com/...AsyncTask#publishProgress