【发布时间】:2018-05-08 01:16:36
【问题描述】:
即使在 goOffline() 和 keepSynced(false) 之后,我的 Firebase 数据库仍有少量下载。
我只想获取一次数据。然后我将它保存到 SharedPreferences。下次用户运行应用程序时,它将检查数据是否存在于 SharedPreferences 中,如果存在则无需再次从 Firebase 获取。
但在 Firebase 仪表板中,几个小时后,我不断看到下载量增加(例如 10KB)。 如何完全关闭此 Firebase?我错过了什么吗?
主要活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
---- SOME PSEUDO CODE ----
if (mySharedPreferences.has(theValue)) {
//already has the value.
//No need to get from Firebase.
}
else { //doesn't have the value, so get it from Firebase.
FirebaseDatabase.getInstance().goOnline(); //-->ONLINE
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference("someNode");
myRef.child("datax").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mySharedPreferences.set(theValue);
FirebaseDatabase.getInstance().goOffline(); //-->OFFLINE
}
@Override
public void onCancelled(DatabaseError databaseError) {
FirebaseDatabase.getInstance().goOffline(); //-->OFFLINE
}
});
myRef.keepSynced(false); //-->NOT SYNCYED
}
}
【问题讨论】:
-
使用仪表板显示来自所有来源的流量,包括客户端和控制台本身。要检查您的客户的流量,enable debug logging 并检查 logcat。
-
我稍后会看到。谢谢。
标签: android firebase firebase-realtime-database