Android 首先,改变太慢

Android 首先,改变太慢,android,firebase,firebase-realtime-database,geofire,Android,Firebase,Firebase Realtime Database,Geofire,我有一个片段,在这个片段中我做了很多事情,首先我恢复设备的当前位置(我在Firebase实时数据库中有一个应用程序的一部分,它私自保存用户的位置,在这个片段中我搜索所有附近的用户,并在一个包含我找到的用户的所有密钥(uid)的列表中迭代)。在这个迭代中,我为每个键添加了一个侦听器,以恢复该用户的所有数据 第一个onDataChange需要很长时间,在38到75秒之间,即使我只从该用户检索到一个字段 我的代码是: public void onGeoQueryReady(){ //我这里有一个密钥列

我有一个片段,在这个片段中我做了很多事情,首先我恢复设备的当前位置(我在Firebase实时数据库中有一个应用程序的一部分,它私自保存用户的位置,在这个片段中我搜索所有附近的用户,并在一个包含我找到的用户的所有密钥(uid)的列表中迭代)。在这个迭代中,我为每个键添加了一个侦听器,以恢复该用户的所有数据

第一个onDataChange需要很长时间,在38到75秒之间,即使我只从该用户检索到一个字段

我的代码是:

public void onGeoQueryReady(){
//我这里有一个密钥列表(uid)
用于(字符串键:列出\u键){
userListener.child(key.child(“令牌”).addListenerForSingleValueEvent(新的ValueEventListener()){
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
d(Constants.TAG,“onDataChange:token:”+dataSnapshot.getValue());
}
}
}
}
为什么要花这么长时间

编辑(2019年9月10日): 注意,在示例代码中,我只恢复了数据库中对象的“token”字段,但问题仍然存在


第一次通过是针对,对于每个uid,我通过了所有检查。

请将您的数据库结构添加为JSON文件或至少作为屏幕截图。感谢您的推荐!我刚才编辑了原始消息,并将数据库结构屏幕截图添加为链接。您在此处显示的内容不太可能是根本原因。尝试签出和。使用调试日志记录和探查器,您应该可以更好地了解减速发生的位置。这只是第一次加载,下一次加载非常快!请将您的数据库结构添加为JSON文件或至少作为屏幕截图。感谢推荐!我刚刚编辑了原始消息和添加了数据库结构截图作为链接。您在此处显示的内容不太可能是根本原因。请尝试签出和。使用调试日志记录和探查器,您应该可以更好地了解减速发生的位置。这只是在第一次加载中,下一次加载速度非常快!