Firebase数据库花费了太多时间

时间:2016-11-27 13:34:16

标签: android firebase firebase-realtime-database

我正在使用Firebase数据库存储有关狗主人及其狗的信息。我的数据库结构是

var obj={viewportSize:{width: 1600,height: 900},
settings:{userAgent:'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0',
javascriptEnabled:'true',
loadImages:'true'
}}// The additional settings for the create() function.

require('webpage').create(obj).open('http://example.com',function(status){
  var base64 = this.renderBase64('PNG');// You can use "this", instead of the object name.
  console.log(base64);
  phantom.exit();
});

执行需要花费很多时间。通过这一行,我添加了值监听器来获取当前用户的狗。

dogs:
   dog_id
        nameDog
        dogOwnerId
        dogBreed

在此之前,我的结构是

databaseReference.child(FIREBASE_CHILD_DOGS).orderByChild("dogOwnerId").equalTo(dogOwnerId).addValueEventListener(valueEventListener);

我的两个结构都需要大约35秒来同步数据库中的数据。 你知道这可能是错的吗?互联网连接不畅?

1 个答案:

答案 0 :(得分:0)

要在本地缓存数据,您应该创建一个类,它扩展Application并将其放在清单中,如下所示:

public class MyApplication extends Application {

@Override
public void onCreate() {
    super.onCreate();
    /* Enable disk persistence  */
    FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}

}

然后在应用程序标记内的manifest中添加以下内容:

        android:name=".MyApplication"

即使用户处于离线状态,此方法也可以减少大量时间和工作。