0
即使在主机listRef
的父代activity
已被销毁之后,addListenerForSingleValueEvent
会被解雇吗?Firebase Base侦听器行为
DatabaseReference listRef = FirebaseDatabase.getInstance().getReference(Constants.Client + "/"+Constants.branch);
listRef.keepSynced(true);
listRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
为什么不与上下文关联? doc说keepSynced真正加载到RAM中,那么实例会在RAM中保留多久? –
调用'ref.keepSynced(true)'本质上意味着Firebase会向该位置添加一个空的侦听器,以便在应用程序处于活动状态时数据在内存中保持最新状态。一旦应用程序退出,或者当您调用'ref.keepSynced(false)'*和*对同一位置的所有其他引用已被删除,数据将被删除。 –