如文档所述,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/