直感的には、それを実行する最も適用可能なコールバックはonPause()
です。しかし、ドキュメントの矛盾があるように思われる:ライフサイクルコールバックonPause()とonStop()に関するAndroidの矛盾したドキュメント
https://developer.android.com/guide/components/activities/activity-lifecycle.htmlによると:
onPause()の実行は非常に簡単であり、必ずしも操作保存を実行する 十分な時間を与えません。このため、 アプリケーションまたはユーザーデータを保存するためにonPause()を使用しないでください。ネットワーク を呼び出して、データベーストランザクションを実行してください。このような作業は、完了する前に を完了しないことがあります。代わりに、は、onStop()の間に負荷が高い シャットダウン操作を実行する必要があります。
比較的CPUを大量に消費する シャットダウン操作を実行するには、onStop()を使用する必要があります。。たとえば、データベースに情報を保存する時間がより適切でない場合は、 onStop()の間に情報を保存することがあります。 https://developer.android.com/reference/android/app/Activity.htmlによれば
:上記の表の「Killable」欄
注 - killableあるとしてマークされているこれらの方法 ため、その方法は活性をホスティング 処理を戻した後にしてもよいです別の行のコードを実行することなく、いつでもシステムによってkillされる可能性があります。 は、に永続データ( ユーザー編集など)を書き込むためにonPause()メソッドを使用する必要があります。
したがって、実行する必要があるのはどこですか。これはどのようにして一般に行われますか?