Android が、以前に行っていたアクティビティで再起動することにより、バックグラウンドでアプリを強制終了した後、アプリを再開するふりをしていることに気付きました。
1) この機能を無効にすることはできますか?
私の問題は ListsActivity にあります。ユーザーに表示するアイテムを含むリスト配列が渡されます。一部はフォルダーです。選択すると、そのフォルダーの内容を含む配列を持つ別の ListsActivity が開きます。たとえば、ユーザーが特定のフォルダーとそのサブフォルダー内のすべてのアイテムを検索することにした場合、リストを動的に生成できます。
ListsActivity でアプリを再起動すると、そのリスト配列がなければどこにいるのかわかりません。
2) どうすればいいですか?
-- onPause が呼び出されるたびに配列を保持したくありません。配列は、ツリーの上部で巨大になる可能性があります。バックヒストリーのすべての ListsActivities は言うまでもありません。
3) リスト配列がないことがわかった場合、ListsActivity onCreate からアプリをシームレスに再起動することはできますか? つまり、ListsActivity を表示せずにメイン アクティビティに点滅します。
編集 - ユーザーは任意の時点で履歴に任意の数のアクティビティを含めることができるため、これには再帰が含まれることに注意してください。だから私は別の質問があります:
4) この方法で再起動した場合 - 反撃したとき、完全な反撃の履歴がありますか? それらのアクティビティもすべて再作成する必要がありますよね? ここでこれをテストする方法を尋ねる別の質問を開きました: How to test your app being kill and restart?