Kuwapp's Blog

Android と Flutter やってます

【Android】AsyncTaskの罠

AsyncTaskの罠……と自分が思ったところです。

AsyncTaskでcancelを呼ぶとdoInBackgroundの処理を自動で切ってonCancelledが呼ばれると思っていました。
ですが、キャンセルを呼び出してもdoInBackgroundの処理は走り続けるようです。
doInBackground内でisCancelledメソッドを使用し、キャンセルされている場合は処理を終わらせる必要があります。
doInBackgroundの処理が終了するとonCancelledメソッドが呼ばれます。

よく考えれば当たり前ですよね…。