2017-05-23 5 views
0

私のアプリはSingleValueEventsetValue()メソッドを使ってバックグラウンドで実行されます。 SingleValueEventとsetValue()を1秒間使用してもFirebaseは5分後に接続していると聞きました。電池の無駄使い。ファイアベースrealtimeDBの同時接続を減らす方法は?

終了後、realtimeDB jsutとの接続を停止するにはどうすればよいですか?

+0

接続を閉じる際の5分の遅延は、バッテリの放電ではありません。以前に接続を閉じるために 'goOffline()'を自分で呼び出すことはできますが、その接続のマイクロ管理のタイプは電池の寿命を延ばすものではありません。 –

答えて

1

Frank van Puffelenの前のpostで述べたように、アクティブなリスナーがなく、5分間の書き込みがない場合、Firebaseクライアントは自動的に切断されます。新しいリスナーを接続したりデータを書き込んだりすると、自動的に再接続されます。これは自動的に再接続することを意味しますonly if you create other listeners or you need to write data into the database.

したがって、新しいリスナーがなく、データを書き込む必要がない場合は、心配する必要はありません。

リスナーを削除する場所は、onPause()またはonStop()のメソッドです。

希望します。

+0

ご協力いただきありがとうございます。もう一つ質問があります。 5分後にgoOfflineメソッドを使用すると、DBで手作業で切断することはできますか? –

+0

はい、[offical doc](https://firebase.google.com/docs/reference/android/com/google/firebase/database/FirebaseDatabase.html#goOffline())saisとして、すべての接続をシャットダウンしますFirebaseデータベースのバックエンドはgoOnline()が呼び出されるまでバックエンドします。 –

+0

これを解決できましたか? –

関連する問題