2017-05-23 34 views
0

我的應用程序只使用SingleValueEventsetValue()方法在後臺運行並配置。我聽說即使我使用SingleValueEvent和setValue()一秒,firebase仍然在5分鐘後連接。並浪費大量電池。如何減少firebase 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

是的,因爲[官方文檔](https://firebase.google.com/docs/reference/android/com/google/firebase/database/FirebaseDatabase.html#goOffline())sais)會關閉所有連接Firebase數據庫後端直到goOnline()被調用。 –

+0

你是否設法解決了這個問題? –