如果我在FirebaseDatabase.getInstance()。getReference()。child(“userID”)中更改子项,为什么它仍然继续监听以前的孩子。假设我有user1,user2和user3。如果我使用user1登录,则只监听user1值,在用user2登录后,它正在侦听user1和user2值,如果我使用user3登录,则它正在侦听user1,user2和user3值。为什么firebase会继续监听以前的孩子。如果我第一次使用user1登录,则它会监听user2和user3值。
var redis = require("redis");
var sub = redis.createClient(), pub = redis.createClient();
var msg_count = 0;
sub.on("subscribe", function (channel, count) {
pub.publish("a nice channel", "I am sending a message.");
pub.publish("a nice channel", "I am sending a second message.");
pub.publish("a nice channel", "I am sending my last message.");
});
sub.on("message", function (channel, message) {
console.log("sub channel " + channel + ": " + message);
msg_count += 1;
if (msg_count === 3) {
sub.unsubscribe();
sub.quit();
pub.quit();
}
});
sub.subscribe("a nice channel");
答案 0 :(得分:2)
您需要保留对您添加到数据库参考的ChildEventListener
的引用,然后调用
if (childEventListener != null)
databaseReference.removeEventListener(childEventListener);
在您的活动的onStop()
方法上。