複雑なアプリケーションがあります。アプリケーション クラスと、共通のアクティビティからインテントとして開始された多数のアクティビティ クラスです。
ログによると、プロセスは死んでいます。アプリを実行し、ホームに移動し、他のアプリをたくさん起動してから、アプリに戻ると発生します。
ログには、次のように表示されます。
10-25 12:11:08.195: I/ActivityManager(2492): プロセス my.awesome.app (pid 20860) が停止しました。
my.awesome.app は、アプリの再起動時にメイン アクティビティの onCreate() メソッドを通過します。
ただし、正しい画面に誘導するインスタンス変数は、アプリが終了したときの値を保持していないため、間違った画面に行き着きます。実際には、アプリがシステムによって殺され、その後生き返ったので、アプリがそれほど死んでいないことを願っています.
コードを見ると、onSaveInstanceState()/onRestoreInstanceState() メソッドが表示されないので、それらを提供する必要があると確信しています。
問題は、どのアクティビティが onSaveInstanceState()/onRestoreInstanceState()/自分が行ったことに反応する必要があるかということです。
たとえば、私のアプリケーション クラスは、アクティビティを実行するスレッドを開始するアクティビティ クラスを開始し、それ自体がインテントを介して別のアクティビティを実行しています。
関連するすべてのクラスが onSaveInstanceState()/onRestoreInstanceState() を提供/対応する必要がありますか? 間違った画面に移動する不適切な値を検出しているので、それは単なる Application クラスですか?