1

ActivityB呼び出された fromActivityAにエクストラが含まれていると想像してみましょう。開始時にメソッドActivityBにチェックインし、これらのエクストラを保持します。方向の変更後、つまり が再作成された後でも、 がエクストラを保持していることに気付きましたが、 によって呼び出されず、にエクストラを配置します。エキストラは常に「生きている」という意味ですか?私がこれを正しく理解している場合、Activity はそれをどこにどのように保持しますか?onCreate()bundleActivityAActivityBActivityBActivityAIntent

4

1 に答える 1

1

アクティビティで onDestroy() が呼び出された場合、インテントは「リセット」され、余分なものがないことがわかると思います。これは、ローテーションの変更で発生すると予想されることです。

インテントからエクストラを実際に削除するには、インテントでremoveExtra(String extra)を呼び出す必要があります。

removeExtra を呼び出さない場合は、そうです。アクティビティが破棄されるまで、エクストラはインテントに残ります。

于 2012-06-19T21:42:07.957 に答える