Android のドキュメントには、「アプリケーション内の 1 つのアクティビティが複数回インスタンス化される可能性がある」と記載されています。ここで、次のように仮定します。
- onStart() を使用して状態を永続的なストレージに保存します
- onStop() を使用して、永続ストレージから状態をロードします
ここで、メイン アクティビティの 2 つのインスタンス (inst1 と inst2) があり、次の呼び出しシーケンスがあるとします。
- inst1.onStart()
- inst2.onStart()
- inst1.onStop()
- inst2.onStop()
- inst1.onStart()
次に、これは、インスタンス #1 がインスタンス #2 の状態をロードすることになることを意味します。
これは可能なシナリオですか?はいの場合、どうすればこれを回避できますか?
編集:実際には、同じアクティビティの2つのインスタンスを同時に「実行中」状態にすることはできないため、このシナリオは不可能のようです。