我仍然不清楚这一点,也没有找到真正明确的解释:应该在onDestroy
回调中关闭/删除哪些对象/组件?
从我读到的,至少会有:
- 要删除的听众
- 要关闭的数据库处理程序
但是还有其他事情需要处理吗?
谢谢!
我仍然不清楚这一点,也没有找到真正明确的解释:应该在onDestroy
回调中关闭/删除哪些对象/组件?
从我读到的,至少会有:
但是还有其他事情需要处理吗?
谢谢!
没有理由仅仅因为它是数据库处理程序或侦听器而显式关闭某些东西。.
您可能想杀死不再需要的东西,但在 onDelete(或 onStop)发生后可能会被错误地调用。
这些可以是:服务,因为它们可能不会被操作系统杀死,因此在没有人需要它们的时候运行。广播接收器,因为它们可以从系统获取消息并在您的活动已经无效时尝试处理它。处理程序,因为它们可以从您的应用程序的其他部分接收消息。侦听器和数据库连接,因为您的应用程序的其他部分可能会在提供它们的活动已经处于无效状态时无意中使用它们。因此,在 onStop / onDestroy 中关闭什么是逻辑问题,而不是分类问题。
正是您输入的内容。当该回调方法发生时,您将需要关闭任何数据库连接和您正在收听的任何内容,例如 SMS 消息。
您还可以在该事件期间删除临时文件。或者,也许您也想发送一封电子邮件。这实际上是您想要的任何东西,但开发文档确实建议您关闭 DB xnets 和 Service xnets。
懒惰的开发人员只是将此方法留空。