1

そこで、メイン アクティビティ (A) と、すべてが何かを実行し、作業をメインに報告して終了するその他のさまざまなサブ アクティビティを持つアプリを作成しました。

私が遭遇しているのは、ユーザーが画面 B または C でアプリを離れた場合、後で戻ってきて、dalvik がより多くの RAM のために私のアクティビティを破棄した場合です...アプリは B または C に戻り、読み取ります保存されたインテントからすべての初期化が行われ、何も起こらなかったかのように続行されます。彼らがアクティビティ A に戻るまでは、予期しないことから力を得ることができます。

オーバーライドonStop()と呼び出しの終了をいじりましたが、これは少し焦土だと思います。そのアクティビティを離れて戻ってくるようにしたいと思います。しかし、基になるメイン アクティビティが破棄されたかどうかを検出し、アクティビティ スタック全体を破棄したいとも考えています。

読んでみると、常に呼び出されるとは限らないという考えが得られるため、onDestroy()アクティビティ A の onDestroy にロジックを挿入することは信頼できません....何かアイデアはありますか?

4

1 に答える 1

0

フラグFLAG_ACTIVITY_NO_HISTORYを使用して、サブアクティビティ B および C を開始してみてください。

于 2011-06-19T16:28:57.970 に答える