我只有200 B的实时数据库,我的应用程序大约有200个。 500名活跃用户。
在应用程序中,我查询数据库以将数据添加到某些arraylist:
$ ./attach 30389
pid=30389
attach ret=0
cont ret=0
waitpid ret=30389.
WIFSTOPPED
SIGTRAP cont ret=0 err=Success
waitpid ret=30389.
WIFSIGNALED
SIGTRAP cont ret=-1 err=No such process
^C
我有9位听众。数据消耗大约是。每天100 MB! 按照这个速度,我很快就会达到10GB /月的限制。如果我正确的话,每次用户打开应用程序时都应该加载这些数据,并且每次我从服务器远程更改数据时(这种情况很少发生,例如一个月内发生2次)。如果打开应用程序加载,让我们说,1 KB,那么这意味着应该每天打开应用程序超过100.000次,并且这至少不是一个数量级。< / p>
我的数据库是这样的:
public class FirebaseApplication extends Application {
...
@Override
public void onCreate() {
super.onCreate();
...
//reference to the root of the cloud database
mDatabase = FirebaseDatabase.getInstance().getReference();
mNamesPoloSubRoot = mDatabase.child("PoloniexNames");
//listen for change in the cloud. If there is some additional item,
//add it to the list populated from hard coded items.
mNamesPoloSubRoot.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
GenericTypeIndicator<List<String>> gt = new GenericTypeIndicator<List<String>>() {};
List names = snapshot.getValue(gt);
if( names == null ) {
//Log.v(LOG_TAG_FIREBASE,"No extra coins");
}
else {
// Log.v(LOG_TAG_FIREBASE,"extra coins!" );
additionalNamesPolo = new ArrayList<String>(names);
//attach the new coins at the bottom of the hard coded list
NamesPoloniexA.addAll(additionalNamesPolo);
}
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.e(LOG_TAG_FIREBASE, "Failed to read value.", error.toException());
}
});
...
}
}
请注意,应用程序调用的许多子项通常都是null(因为没有数据可以远程添加到应用程序中),因此整个数据库甚至可以为空,但有些数据似乎无论如何都要下载(数据库的大小,即使为null,也不为零。)
我做错了什么?或者它是Firebase的问题?