2

onSaveInstanceState の使用に関するドキュメントを確認しているときに、質問が表示されました。

いくつかのアクティビティを含むアプリを使用していて、現在、前のアクティビティによって開始された特定のアクティビティにいるとします。現在のアクティビティは、前のアクティビティからの追加の値を受け入れます。

電話がかかってきてアクティビティに戻ると、アクティビティが再作成されます。しかし、それを開始した前の活動の本来の意図を覚えているでしょうか? それ自体を再作成した後、そこから追加の変数を取得できますか?

物事を単純化するには:

アクティビティ A がアクティビティ B を開始します (そしてそれにエクストラを渡します)。次に (B にいる間に) 着信があります。アプリに戻ると、 B が再作成されます。元の元のアクティビティ A から渡されたエクストラを引き続き取得できますか?

4

2 に答える 2

2

はい、そうです。確認する最も簡単な方法は、2 番目のアクティビティの実行中に画面を回転させることです。画面は破棄されてから再作成され、まだエクストラを取得できることがわかります。試してみて、自分で確認してください。

于 2015-06-07T00:59:01.637 に答える
1

はい、同じ意図になります。

また、明確にするために、呼び出しに応答するためにアクティビティ B を離れて戻った場合、アクティビティ B は必ずしも再作成されるとは限りません。それを含むプロセスがリソースを再利用するために強制終了された場合にのみ再作成されます。あなたが説明したシナリオでは、アクティビティ B がまだ存在することがよくあります。

同様の議論については、以下を参照してください: Android - アクティビティのレクリエーション中にインテントは保持されますか?

于 2015-06-07T01:08:20.527 に答える