1

戻るボタンを押してプログラムを終了したときに、いくつかの機能を実行したい。これは、1 つを除くすべてのケースで機能する onDestroy() によって実行されるようになりました。プログラムの終了時に別のアクティビティから戻る場合、onDestroy は呼び出されません。

理論的には、メモリ不足のために Android がアプリを閉じるときにのみ onDestroy を呼び出す必要があることはわかっていますが、私にとっては、onDestroy は常に機能し、非常に特殊な場合にのみ機能しません。

Using onPause or onStop does not work because I only want to call the function when the program is exited but not when just another activity is called.

So is the last way to catch the back-button-click and call the function there? Or is there any other solution?

4

1 に答える 1

10

戦術的に、使用しますonBackPressed()

戦略的に、アーキテクチャを再検討してください。onDestroy()適切に作成されたアクティビティは、常に呼び出されるとは限らないことが保証されているため、呼び出されても気にする必要はありません。たとえば、Android は必要に応じていつでもプロセスを終了できます (極端にメモリ不足の状態など)。確実に作業する必要があるという事実はonDestroy()、解決すべき問題があることを示唆しています。

于 2011-01-07T21:44:32.673 に答える