[Android]予期せぬ活動終了への対応
Androidでは、ユーザの後退操作により手動で を閉じる.2 がプログラム的に終了する.システムシャットダウン 画面回転時は メモリ不足時 システムの終了は、ユーザーと開発者が意図していないものです.アクティビティがシステムによって終了すると、再起動時に以前のデータがすべて失われるため、満足のいくユーザー体験を得るためには、以前のデータのリカバリを考慮する必要があります.
今日は、Androidシステムの停止時にデータをバックアップ/リカバリする方法について簡単に説明します.
onSaveInstanceState(Bundle bd)
システムが強制的にアクティビティを終了しないように、データバックアップコールバックします.アクティブなスレッドデータは、パラメータ
onRestoreInstanceState(Bundle bd)
システムのアクティビティが終了したときに以前のステータスを復元するコールバックを復元します.パラメータに渡された
Sample
Activity
は通常、以下の場合に閉じられます.finish()
を呼び出すことによって今日は、Androidシステムの停止時にデータをバックアップ/リカバリする方法について簡単に説明します.
onSaveInstanceState(Bundle bd)
システムが強制的にアクティビティを終了しないように、データバックアップコールバックします.アクティブなスレッドデータは、パラメータ
Bundle
のオブジェクトにバックアップできます.2021-09-19 22:47:38 I/TAG_SAVE: onPause()
2021-09-19 22:47:38 I/TAG_SAVE: onStop()
2021-09-19 22:47:38 I/TAG_SAVE: onSaveInstanceState() //데이터 백업 수행
上記のライフサイクルログから、(key, value)
は、アクティビティが完全にクローズされたときに呼び出され、ユーザーデータをバックアップします.onRestoreInstanceState(Bundle bd)
システムのアクティビティが終了したときに以前のステータスを復元するコールバックを復元します.パラメータに渡された
onSaveInstanceState(Bundle)
オブジェクトは、回復状態に必要なデータを参照することができる.このデータは、Bundle
でバックアップされたonSaveInstance()
形式のデータです.2021-09-19 23:14:15 I/TAG_SAVE: onCreate()
2021-09-19 23:14:15 I/TAG_SAVE: onStart()
2021-09-19 23:14:15 I/TAG_SAVE: onRestoreInstanceState()
2021-09-19 23:14:15 I/TAG_SAVE: onResume()
(key, value)
は、onRestoreInstanceState(Bundle)
とonStart()
との間で呼び出される.常に呼び出されるライフサイクル概念ではなく、システムの終了時にのみ呼び出されるイベントコールバックです.Sample
in OOOActivity.java
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("백업 키", "백업 할 데이터");
}
@Override
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String data = savedInstanceState.getString("백업 키");
// 복구 된 'data'를 기반으로 화면에 유의미한 데이터 출력
}
Reference
この問題について([Android]予期せぬ活動終了への対応), 我々は、より多くの情報をここで見つけました https://velog.io/@eia51/안드로이드-의도하지-않은-Activity-종료에-대응하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol