我从来没有明确地将监听器引用设置为
null,因为在大多数情况下它不会有所作为。
以下是您其他问题的一些说明:
- 片段被分离/销毁时,监听器是否不会自动设置为null?并不是的。
onDetach()
并onDestroy()
反映组件的生命周期,而不反映对象的生命周期。那里什么也不会自动发生。当片段实例被垃圾回收时,对监听器的引用将被破坏。如果这是对您的侦听器的唯一引用,则也可以进行垃圾回收。 - 还是在某些情况下,您可能会分离该片段,然后将其重新连接到其他位置,并且您不希望回调指向特定的内容,除非它重新连接至某个内容?我会说这不太可能。在正常使用情况下,您必须在中分配侦听器
onAttach()
,以确保可以正确委派事件。之后onDetach()
,您将不会收到任何需要委派的事件,直到您重新附加该片段为止。而且,如果您重新连接它,那么您将拥有正确的侦听器实例,因为您已经在中进行了处理onAttach()
。



