我想通过点击后退按钮退出程序时执行一些功能。 这现在由onDestroy()完成,它在每种情况下都有效但只有一个。在退出程序的某些情况下从另一个活动返回时,不会调用onDestroy。
我知道理论上onDestroy应该只在Android由于内存不足而关闭应用程序时调用,但对我来说,onDestroy始终工作,并且只在非常特殊的情况下不会。
使用onPause或onStop不起作用,因为我只想在程序退出时调用该函数,而不是在调用另一个活动时调用该函数。
最后一种方法是抓住后退按钮并在那里调用函数?或者还有其他解决方案吗?
答案 0 :(得分:10)
从战术上讲,使用onBackPressed()
。
战略上,重新考虑您的架构。一个写得很好的活动不应该关心是否调用onDestroy()
,因为它保证不会一直被调用。例如,Android可以随时终止您的进程(例如,极低的内存条件)。您需要onDestroy()
可靠地工作的事实表明存在应该解决的问题。