Android 要在onDestroy回调上关闭或删除的对象/组件

Android 要在onDestroy回调上关闭或删除的对象/组件,android,android-lifecycle,Android,Android Lifecycle,我仍然不清楚这一点,也没有找到真正清晰的解释:在ondestory回调中应该关闭/删除哪些对象/组件 据我所知,至少会有: 要删除的侦听器 要关闭的数据库处理程序 但是还有其他事情要处理吗 谢谢 正是您键入的内容。当该回调方法发生时,您将希望关闭任何数据库连接和您正在收听的任何内容,如SMS消息 您还可以在该事件期间删除临时文件。或者你也想发封电子邮件。它实际上是您想要的任何东西,但是开发文档确实建议您关闭DB Xnet和服务Xnet 懒惰的开发人员只是将此方法留空。没有理由只因为它是数据库

我仍然不清楚这一点,也没有找到真正清晰的解释:在
ondestory
回调中应该关闭/删除哪些对象/组件

据我所知,至少会有:

  • 要删除的侦听器
  • 要关闭的数据库处理程序
但是还有其他事情要处理吗


谢谢

正是您键入的内容。当该回调方法发生时,您将希望关闭任何数据库连接和您正在收听的任何内容,如SMS消息

您还可以在该事件期间删除临时文件。或者你也想发封电子邮件。它实际上是您想要的任何东西,但是开发文档确实建议您关闭DB Xnet和服务Xnet


懒惰的开发人员只是将此方法留空。

没有理由只因为它是数据库处理程序或侦听器而显式关闭它

您可能希望删除不再需要但在onDelete(或onStop)发生后可能被错误调用的东西

这些可以是:服务,因为它们很可能不会被操作系统杀死,因此在没有人需要它们的时候运行。广播接收器,因为它们可以从系统中获取消息,并在您的活动已无效时尝试处理该消息。处理程序,因为它们可以从应用程序的其他部分接收消息。侦听器和数据库连接,因为当提供侦听器和数据库的活动已处于无效状态时,应用程序的其他部分可能会无意中使用它们。 因此,在onStop/OnStroy中关闭什么是一个逻辑问题,而不是分类问题。

值得一提的是:OnStroy()和onStop()不能保证被调用。