我有一個AsyncTask正在運行。如果應用程序是停止(電話,應用程序切換等),我的理解是onPostExecute()永遠不會被調用。所以,只要取消(true)用於取消AsyncTask,正在運行的任務將被通知取消。我不介意在isCancelled()定期在doInBackground(),但我所關心的是publishProgress()在doInBackground中散佈的調用。我的理解是onProgressUpdate()在主UI線程上運行。應用程序停止後,在AsyncTask中調用publishProgress()是否安全?
這是否意味着任何對publishProgress()的調用會在應用程序停止時崩潰?或者它只是任何UI更新在 onProgressUpdate(),這將導致應用程序已停止時崩潰。
我問的原因是因爲我想知道如果我必須限定每個publishProgress()調用與isCancelled(支票)或可我只是之前檢查一次onProgressUpdate()實際上試圖更新任何UI組件。
我會等待別人有更多的經驗比我在這裏附和,但基於我已經運行一些測試,它似乎是在回答我的問題是肯定的。 – RTF