我有一个Android应用程序,每日活跃用户约1500-3000。在每次加载应用程序时,我都会获取整个firebase数据库以确保所有内容都处于同步状态(我使用Firebase's offline capabilities)。整个数据库大小约为96kb(根本不是很大)。
我使用Flame计划,它提供20GB的带宽。自本月开始以来,我已经超过了这个配额300GB(!!!)。
我可能应该改变我在应用程序加载时获取数据库的方式,但我更担心这种情况是怎样的。任何的想法?我认为这个简单的应用程序有点奇怪。
此外,Firebase的应用程序暂停如何工作?该应用程序将在下个月关闭吗?
提前致谢!
更新
以下是获取所需数据的代码:
List<QuestionItem> questionsItemList = new ArrayList<>();
FirebaseDatabase.getInstance().getReference("quests").orderByKey().addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
QuestionObject questionObject = snapshot.getValue(QuestionObject.class);
questionsItemList.add(new QuestionItem(questionObject));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// ...
}
});
QuestionObject
只是一个由Firebase填充的普通对象。 QuestionItem
构造函数使用QuestionObject
并提取其属性。
从那时起,我在需要时使用questionsItemList
来获取单个文档。
答案 0 :(得分:0)
我想我遇到了问题...
在app加载时,我获取一些数据,然后在ArrayList
中存储我需要的内容。当我需要获取其中一个文档时,我会从数据库中查询它而不是从ArrayList
获取它...
这可能是浪费带宽的原因。我很快会推出更新,希望它能解决问题。