2

アクティビティが一時停止され、onPause()メソッドからAsyncTask. ただし、ログには次のイベントが時系列で表示されます。

  1. OnPauseと呼ばれる
  2. AsyncTaskからキャンセルされOnPauseます。 タスクが正常にキャンセルされたことを示しますcancel(false)true
  3. onPostExecuteキャンセルされた場合は呼び出されないという契約にもかかわらず、呼び出されます。

誰もこれを見たことがありますか?LogCat メッセージは正確な順序で表示されることが保証されていますか?

4

1 に答える 1

2

私が経験した限り、LogCatメッセージは正しい順序で届きます。

問題は、AsyncTaskキャンセルできないことかもしれません。呼び出しは、それをキャンセルする保証された方法ではありませんCancel()AsyncTaskパラメータboolean mayInterruptIfRunningを true に使用できます。ただし、trueに設定した後でも、うまくいきませんでした。

onCancelled()AsyncTask がキャンセルされたかどうかをメソッドで確認できます。コントロールがこのメソッドに到達した場合、それはキャンセルされたことを意味します。thisおよびthis question
の回答をご覧ください。

于 2012-08-08T06:05:33.073 に答える