1

当程序通过点击后退按钮退出时,我想执行一些功能。这现在由 onDestroy() 完成,它适用于除一种情况之外的所有情况。在某些情况下退出程序时从另一个活动返回时,不会调用 onDestroy。

我知道理论上 onDestroy 应该只在 Android 由于内存不足而关闭应用程序时调用,但对我来说,onDestroy 始终有效,而且只有在非常特殊的情况下才有效。

使用 onPause 或 onStop 不起作用,因为我只想在程序退出时调用该函数,而不是在调用另一个活动时调用该函数。

那么捕捉后退按钮单击并在那里调用函数的最后一种方法是什么?或者有没有其他解决方案?

4

1 回答 1

10

战术上,使用onBackPressed().

从战略上讲,重新考虑您的架构。编写良好的活动不应该关心是否onDestroy()被调用,因为它保证不会总是被调用。例如,Android 可以随时终止您的进程(例如,内存极低的情况)。您需要可靠地工作这一事实onDestroy()表明存在应该解决的问题。

于 2011-01-07T21:44:32.673 回答