The*_*ker 9 java android interface callback android-fragments
在涉及回调的Fragment示例中,通常它们在onAttach方法中分配侦听器,然后在onDetach方法中将侦听器设置为null.
这最后一部分是否必要?片段分离/销毁时,侦听器是否自动设置为null?或者在某些情况下你可能会分离片段并将其重新附加到其他地方,并且你不希望回调指向任何特定的东西,直到它重新附加到某些东西上?
我从来没有明确地设置监听器引用null
,因为在大多数情况下它不会有所作为.
以下是对您其他问题的一些说明:
onDetach()
并onDestroy()
反映组件生命周期,但不反映对象生命周期.那里什么都不会自动发生.当您的片段实例被垃圾收集时,对该侦听器的引用将被破坏.如果这是对您的侦听器的唯一引用,则它也有资格进行垃圾回收.onAttach()
,因此您确信可以正确委派事件.之后onDetach()
,在重新附加片段之前,您将不会收到任何需要委派的事件.并且,如果你重新附加它,那么你将拥有正确的监听器实例,因为你已经处理过了onAttach()
.我从不关闭任何接口侦听器,并且使用了很多接口侦听器,从未遇到任何问题。
官方文档解释了fragment之间的通信,也没有关闭示例中的监听器。
您还可以在此处提供的官方示例中自行检查,侦听器在片段中没有关闭。我认为如果有必要的话谷歌至少会提到它。
归档时间: |
|
查看次数: |
2609 次 |
最近记录: |