首页 > 解决方案 > 当活动被破坏/暂停时,我应该删除任何监听器吗?安卓工作室

问题描述

我想知道当应用程序进入后台/被销毁时是否应该明确删除任何观察者/听众。或者我不应该删除因为android机器知道什么时候删除?

谢谢 :)

标签: javaandroidkotlin

解决方案


如果您的意思是 UI 侦听器喜欢onClickListener按钮,那么现在没关系,因为当应用程序在后台时,无法采取任何行动。当活动被破坏时,所有的听众也将被破坏。

但是如果您的活动正在观察另一个类并根据该类中的更改进行自我更新,那么您需要在活动中注册活动onStart并取消注册onStop()活动。否则,由于活动未激活,可能会导致异常。

您应该注意的另一种情况是,当您在 Activity 内部创建Thread一个静态内部类并引用您的 Activity 时。并且只要线程正在运行,活动就不会被垃圾收集。如果活动在线程完成之前死亡,这可能会导致内存泄漏


推荐阅读