1

シングルインスタンスモードで起動するアクティビティがあります。それは呼び出されたときにのみ目的を果たし、その後は何もしません。

もちろん、私はそれを不正に操作しているので、理論的には、ユーザーはアクティビティを終了せずにアクティビティを離れることはできません。そうは言っても、クラッチパッドなど、この種の動作をバイパスできるアプリを知っています。

質問:本当に確認したい場合(つまり、アクティビティがバックスタックに落ちた場合)、onPause内でonDestroyを呼び出すことを保存/推奨しますか、それとも悪い考えですか?

悪い考えの場合、これを達成する正しい方法は何ですか?

ありがとうございました!

4

1 に答える 1

6

onDestroy()アクティビティを終了するのではなく、アクティビティが破棄されるときにシステムによって呼び出されます。アクティビティが終了したときにアクティビティをクリーンアップできるように(たとえば、アクティビティから起動した他のスレッドを停止できるように)、オーバーライドします。おそらくそれを呼び出すのを避け、必要なときにシステムに呼び出させるだけです。アクティビティを終了したい場合は、finish()代わりに電話してください。

于 2012-04-13T19:19:09.453 に答える