Android Firebase dataSnapshot正在检索旧的不存在节点

Android Firebase dataSnapshot正在检索旧的不存在节点,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我在玩Firebase,删除和添加用户。 然后我决定删除所有用户,现在我仍然可以访问不再存在的节点。 下面是我如何从最近的Firebase数据库中检索dataSnapshot和打印 mFirebaseUsersRef = new Firebase(Constants.FIREBASE_URL_USERS).child(mLoggedUser.getEmail()); mFirebaseUsersRef.addValueEventListener(new ValueEventListen

我在玩Firebase,删除和添加用户。
然后我决定删除所有用户,现在我仍然可以访问不再存在的节点。
下面是我如何从最近的Firebase数据库中检索dataSnapshot和打印

mFirebaseUsersRef = new Firebase(Constants.FIREBASE_URL_USERS).child(mLoggedUser.getEmail());

    mFirebaseUsersRef.addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(dataSnapshot.exists()) {
                mLoggedUser = dataSnapshot.child(mLoggedUser.getEmail()).getValue(User.class);

请注意,用户列表上只有一个用户,但是,如果my mFirebaseUsersRef引用的电子邮件在删除Firebase数据库中的所有用户之前有一个节点,但现在不存在,则dataSnapshot将检索删除该节点之前存在的所有数据。
我希望我能说清楚,我很乐意回答任何关于我的问题的疑问。

下面是我的dataSnapshot正在检索的不存在数据的打印版本


编辑

在调试每一行之后,我注意到一些奇怪的事情,dataSnapshot最初存在,如图所示:,但在经历整个if(即使通过
startActivity(I);
)之后,它返回到
if(dataSnapshot.exists()){
并显示dataSnapshot现在为空:

我能想到的唯一方法是启用磁盘持久性,并从那里提供数据。有可能吗?默认情况下磁盘持久性打开了吗?如果是,那么这可能是问题所在,但我没有实现此:
Firebase.getDefaultConfig().setPersistenceEnabled(真)
我认为默认情况下它是关闭的。而且只有在没有网络连接的情况下才会导致这种行为。但正如所说的:这是唯一一个很快就会浮现在脑海中的解释。应用程序读取if两次,首先将节点识别为存在,然后将其识别为空,这一事实应该意味着什么?听起来像是最初的事件是firing从本地缓存中删除,然后一旦服务器更新进入,就会触发一个协调事件。