Java Firebase实时数据库非常高的下载使用率
以下代码花费1MB从firebase提取数据。这正常吗?我能做些什么来减少它?因为太贵了。我想有更好的办法。有人能帮忙吗Java Firebase实时数据库非常高的下载使用率,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,以下代码花费1MB从firebase提取数据。这正常吗?我能做些什么来减少它?因为太贵了。我想有更好的办法。有人能帮忙吗 mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { long Kapasi
mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long KapasiteGiris= dataSnapshot.child("giris").child(finalKategoriCinsiyet).child(finalKategoriGiris).getChildrenCount();
long KapasiteKarsilama= dataSnapshot.child("karsilama").getChildrenCount();
long KapasiteAskDurumu1= dataSnapshot.child("askDurumu").child(finalKategoriCinsiyet).child(finalKategoriAskdurumu).getChildrenCount();
long KapasiteAskDurumu2= dataSnapshot.child("askDurumu2").child(finalKategoriCinsiyet).child(finalKategoriAskdurumu).getChildrenCount();
long KapasiteisDurumu1= dataSnapshot.child("isDurumu").child(finalKategoriCinsiyet).child(finalKategoriMeslek).getChildrenCount();
long KapasiteisDurumu2= dataSnapshot.child("isDurumu2").child(finalKategoriCinsiyet).child(finalKategoriMeslek).getChildrenCount();
long KapasiteBitis= dataSnapshot.child("bitis").child(finalKategoriCinsiyet).child(finalKategoriBitis).getChildrenCount();
kapasite[0] = KapasiteGiris;
kapasite[1] = KapasiteKarsilama;
kapasite[2] = KapasiteAskDurumu1;
kapasite[3] = KapasiteAskDurumu2;
kapasite[4] = KapasiteisDurumu1;
kapasite[5] = KapasiteisDurumu2;
kapasite[6] = KapasiteBitis;
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
dialogFragment.dismissAllowingStateLoss();
}
});
输出:
KapasiteGiris:8
KapasiteKarsilama:5
KapasiteAskDurumu1:4
KapasiteAskDurumu2:14
KapasiteisDurumu1:5
KapasiteisDurumu2:4
KapasiteBitis:13
CLI报告:
这里唯一重要的代码是连接侦听器的查询:
mDatabaseRef.child("FalMetinleri").addListenerForSingleValueEvent()
这是在获取节点“FalMetinleri”下的所有内容。侦听器中的所有其他代码都不需要花费更多的数据,因为该子对象的整个快照都已经在内存中了。看起来快照中有大约1MB的数据
如果不需要该子对象的全部内容,则可以单独请求其中的每个嵌套子对象。这将需要为每个子项提供一个查询,并为每个子项提供一个新的侦听器。您可能希望检查此“我的新下载用法”仅69字节。谢谢