程序退出时的调用方法 - onDestroy不可靠

时间:2011-01-07 21:35:23

标签: android activity-lifecycle ondestroy

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

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

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

最后一种方法是抓住后退按钮并在那里调用函数?或者还有其他解决方案吗?

1 个答案:

答案 0 :(得分:10)

从战术上讲,使用onBackPressed()

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