ActivityB
呼び出された fromActivityA
にエクストラが含まれていると想像してみましょう。開始時にメソッドActivityB
にチェックインし、これらのエクストラを保持します。方向の変更後、つまり が再作成された後でも、 がエクストラを保持していることに気付きましたが、 によって呼び出されず、にエクストラを配置します。エキストラは常に「生きている」という意味ですか?私がこれを正しく理解している場合、Activity はそれをどこにどのように保持しますか?onCreate()
bundle
ActivityA
ActivityB
ActivityB
ActivityA
Intent
1 に答える
1
アクティビティで onDestroy() が呼び出された場合、インテントは「リセット」され、余分なものがないことがわかると思います。これは、ローテーションの変更で発生すると予想されることです。
インテントからエクストラを実際に削除するには、インテントでremoveExtra(String extra)を呼び出す必要があります。
removeExtra を呼び出さない場合は、そうです。アクティビティが破棄されるまで、エクストラはインテントに残ります。
于 2012-06-19T21:42:07.957 に答える