2016-05-29 19 views
2

Android SDKのaddValueEventListenerを使用してデータを取得するためにFirebaseに取り組んでいますが、結果を得るために応答時間が最低1分かかることがありました。Firebase addValueEventListenerの応答時間が少し遅いですか?

マイコード:

Firebase firebase = new Firebase("https://example.firebaseio.com/"); 
firebase.child("XYZ").addValueEventListener(new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 

        Log.d("DataFirebase","onDataChange : "+dataSnapshot); 

        Toast.makeText(getApplicationContext(),"onDataChange",Toast.LENGTH_SHORT).show(); 

       } 

       @Override 
       public void onCancelled(FirebaseError firebaseError) { 

        Log.d("DataFirebase","onCancelled : "+firebaseError); 

        Toast.makeText(getApplicationContext(),"onCancelled",Toast.LENGTH_SHORT).show(); 
       } 
    }); 

これは私の上記のコードで、私はキーから瞬時に結果を得ることができますどのように、私に知らせてください。私にいくつかの解決策を提案してください。

+2

遅れを説明するコードはありません。これらのことは、リモートでトラブルシューティングを行うことは非常に困難です。これはあなたがこれを実行するデバイス、ネットワーク接続、あなたとFirebaseサーバ間のホップ、プログラムが要求するデータ量などの組み合わせになります。[MCVE](http:// stackoverflow .com/help/mcve)を実行すると、比較のために実行することができます。 –

答えて

4

私もfirebase realtime dbで遅くなるという問題があります。 Applicationクラスの "onCreate"メソッドの中でFirebaseDatabase.getInstance().setPersistenceEnabled(true);というメソッドを呼び出してみてください。

これはあなたの装置と第2の呼び出しでデータを保存し、上記の非常に高速ですが、キャッシュからなり、時代遅れれることがあり、読むthisすぐに必要なときに、サーバーからの同期データを扱うため。

関連する問題