java - 我什么时候应该删除 OnCompleteListener?

标签 java android firebase google-cloud-firestore firebase-authentication

我读过这篇文章answer其中表示使用 get() 函数时无需删除任何监听器,这是否适用于 set()update()delete()

如何区分监听器何时需要移除?我很困惑,几天来我一直在与听众的事情作斗争。谢谢。

最佳答案

如果您实际上使用的是真正的监听器,即监听记录上的实时更新,则只需删除监听器。因此,如果您只是使用 getsetupdatedelete,这些都是一次性事件addListenerForSingleValueEvent,尽管名称如此,但不需要真正的监听器(并且不需要删除任何监听器)。您可能只需要一个完成处理程序(例如,addOnSuccessListener),以便您可以在查询完成后执行某些操作。

如果您使用的是 onDataChange 之类的东西,您将轮询/监听数据以了解更改,并且当您切换屏幕或离开该组件时,您需要删除该监听器。

由于这个原因,Java/Kotlin 中的命名有点令人困惑 - 想象一个监听器,如果您观看,则需要将其删除以轮询方式监控数据。如果您只是进行一次性交易,则无需删除任何内容。

关于java - 我什么时候应该删除 OnCompleteListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57393505/

相关文章:

java - 在真实设备上的 appium 中并行运行

android - 获取值(value) Firebase

ios - searchBar 无法过滤 swift 3

java - 计算要列表的字符串映射中的所有元素

java - 在命令模式中使用 lambda

java - 如何在 web 服务中运行线程

java - 如何将上下文菜单添加到表格布局?

java - 为什么proguard处理AndroidManifest.xml

java - 错误 :null value in entry: streamOutputFolder=null

java - GWT - DialogBox 玻璃和 GoogleChrome - 玻璃不重绘