Android 在updateChildren之后直接清除HashMap会破坏该功能

Android 在updateChildren之后直接清除HashMap会破坏该功能,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,电话: HashMap<String, Object> updates = new HashMap<String, Object>(); updates.put(myKey, null); mDatabase.updateChildren(updates); updates.clear(); 这是错误还是预期行为?是否有相关文档?更新将异步发送到Firebase数据库。在更新完成之前,不应修改传递给Firebase的地图 这是很容易做到的): 谢谢你的建议,我会把它交给

电话:

HashMap<String, Object> updates = new HashMap<String, Object>();
updates.put(myKey, null);
mDatabase.updateChildren(updates);
updates.clear();

这是错误还是预期行为?是否有相关文档?

更新将异步发送到Firebase数据库。在更新完成之前,不应修改传递给Firebase的地图

这是很容易做到的):


谢谢你的建议,我会把它交给听众。说到这里,由于它的回调参数是数据库根目录下的DatabaseReference,这是否意味着它在执行updateChildren之后实际下载了整个数据库?文档通常建议只获取尽可能最小的树,因此拥有根DatabaseReference使我想再次检查DataSnapshot是否未与itareference一起获取,只有在连接侦听器后,itareference才会下载数据。
mDatabase.updateChildren(new HashMap<String, Object>(updates));
mDatabase.updateChildren(updates, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError error, DatabaseReference ref) {
        if (error == null) {
            updates.clear();
        }
    }
});