如果我以下列方式在活动中使用监听器:
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
String value = dataSnapshot.getValue(String.class);
Log.d(TAG, "Value is: " + value);
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
});
附加一个匿名侦听器(未附加到变量的事件), 我还需要将其删除吗?
*我在onStart()
上设置此项,并且需要它运行到onStop()
/ onDestroy()
什么时候移除侦听器?
答案 0 :(得分:1)
如果您只希望侦听器在活动处于活动状态时工作,则可以通过在Firebase数据库引用上调用removeEventListener()方法来分离侦听器。如果你在onStart()中附加了监听器,那么你应该在onStop()中分离。
@Override
protected void onStop() {
super.onStop();
//...
myRef.removeEventListener();
}