android - 我应该在使用 "addListenerForSingleValueEvent"后删除吗

标签 android firebase firebase-realtime-database

如文档所述,SingleValueEvent 的监听器仅运行一次。
那么这样用完listener是不是就不用去掉了呢?

final Query query = getChatsRef().limitToLast(20);
query.addListenerForSingleValueEvent(new ValueEventListener() {

    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        query.removeEventListener(this);         
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        query.removeEventListener(this); 
    }
});

最佳答案

没有。不需要像在代码 fragment 中那样删除监听器。

您可能想要删除 once 监听器的唯一原因是监听器尚未触发。我唯一能看到这种情况发生的情况是当您未连接到 Firebase 服务器并且您正在检查的位置未被缓存时。这应该是相当少的案例。

关于android - 我应该在使用 "addListenerForSingleValueEvent"后删除吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492926/

相关文章:

java.lang.RuntimeException : Unable to instantiate activity

android - 如何在运行时检测 OpenGl 版本。安卓

android - Gradle - "enforceUniquePackageName"版本 3.0.0+ 已弃用?

android - 我在创建聊天应用程序时收到 ConcurrentModificationException

android - 从 Firebase 数据库中删除字段 (Android)

java - 单击按钮后关闭警报对话框

swift - Firebase 查询数据库为用户名返回 null

java - 未将图像 URL 字符串获取到 FirebaseDatabase

javascript - Firebase 启动从数据库加载与读取新添加内容

javascript - 表的 Firebase child_changed