私は基本的に Android ドキュメントで利用可能なフラグメント デモの変更である単純な Android アプリケーションを書いています。アプリには、Headlines と呼ばれる文字列の静的な ArrayList を持つ Ipsum.java というファイルがあります。
メイン アクティビティの onCreate() メソッドには、いくつかの要素を配列リストに追加する次のコードがあります。
if (savedInstanceState == null){
Ipsum.Headlines.add("String 1 ");
Ipsum.Headlines.add("String 2");
}
savedInstanceState は、アプリが非アクティブな状態から再開されている場合に、システムがメソッドに渡す Bundle です。ロジックは、savedInstanceState が null の場合、アプリは再開されず、新しいインスタンスとして開始されるというものです。
「ホーム」ボタンを使用してアプリを離れ、アプリに再度入ると、arrayList には「文字列 1」と「文字列 2」の 2 つの要素のみが含まれます。(これは望ましい動作です)
ただし、戻るボタンを使用してアプリを離れ、アプリに再度入ると、「文字列 1」要素と「文字列 2」要素が再び追加されます。配列には 4 つの要素があります。
String 1
String 2
String 1
String 2
(arrayList の内容は、listView への入力に使用されるため、表示できます)戻るボタンが押されたときにアプリが静的配列リストの内容を格納しているようです..そして、バンドルが onCreate に渡されていません。 () アプリ再起動時のメソッド。アプリのライフサイクルに関して、ここで何が起こっているのか誰か説明できますか?