Android 在onViewCreated或onStart中设置侦听器更好吗?(片段)

Android 在onViewCreated或onStart中设置侦听器更好吗?(片段),android,Android,我应该在onCreate(View)方法或onStart中设置侦听器吗?在onStart中设置侦听器时,我应该在onPause方法中再次删除它们吗? 在onCreate(视图)中执行此操作而不删除它们是否有任何缺点? 我应该在视图侦听器和其他侦听器之间有所不同吗 EDIT:对于监听器,似乎最好使用onViewCreated()而不是onCreateView()。不过,使用onViewCreated()还是onStart()更好? 也许更重要的是知道是否有必要删除侦听器 编辑:我查看了有关内存泄漏

我应该在onCreate(View)方法或onStart中设置侦听器吗?在onStart中设置侦听器时,我应该在onPause方法中再次删除它们吗? 在onCreate(视图)中执行此操作而不删除它们是否有任何缺点? 我应该在视图侦听器和其他侦听器之间有所不同吗

EDIT:对于监听器,似乎最好使用onViewCreated()而不是onCreateView()。不过,使用onViewCreated()还是onStart()更好? 也许更重要的是知道是否有必要删除侦听器

编辑:我查看了有关内存泄漏的内容,似乎可以在onViewCreated()中使用侦听器,但我没有找到任何正式的解决方案或建议 以下链接帮助我解决了这个问题


onViewCreated()是设置所有侦听器的最佳位置,如果您在onStart()上谈论,您将无法获得任何视图,因此它将抛出NullPointerException。

是的,但没有真正的答案线程没有真正的答案,也没有解释为什么会更好,特别是线程只是关于活动,没有提到碎片。在我发布我的问题后,我才发现它,这很有趣,因为通常StackOverflow应该建议我在发布某个内容之前使用该线程,而不是在我在
onViewCreated()
中执行该操作之后,但许多人在返回视图之前在
onCreateView()
中执行该操作。对此没有真正的答案。谷歌在这两方面都做到了。这取决于您希望如何构造代码。onViewCreated SGTM以前从未使用过它,但它应该与kotlinx配合使用。我们不应该使用
onAttach(上下文)
onAttach()
方法分别在片段内设置和删除侦听器吗?事实上不是这样。onStart不会抛出NullPointerExection,您可以使用rootView引用onCreateView中的视图,这不是最佳解决方案,但它可以工作