我的應用程序只使用SingleValueEvent
和setValue()
方法在後臺運行並配置。我聽說即使我使用SingleValueEvent和setValue()一秒,firebase仍然在5分鐘後連接。並浪費大量電池。如何減少firebase realtimeDB同時連接?
完成活動後,如何停止與realtimeDB jsut的連接?
我的應用程序只使用SingleValueEvent
和setValue()
方法在後臺運行並配置。我聽說即使我使用SingleValueEvent和setValue()一秒,firebase仍然在5分鐘後連接。並浪費大量電池。如何減少firebase realtimeDB同時連接?
完成活動後,如何停止與realtimeDB jsut的連接?
正如Frank van Puffelen先前的post所述,如果5分鐘內沒有活動偵聽器並且沒有寫入,Firebase客戶端會自動斷開連接。當您連接新的監聽器或寫入數據時,它將自動重新連接。這意味着將自動重新連接only if you create other listeners or you need to write data into the database.
因此,如果沒有新的監聽器,並且您不必寫入數據,那麼您絕對不必擔心。
而刪除聽衆的地方是onPause()
或onStop()
方法。
希望它有幫助。
感謝您的幫助。我還有一個問題。如果我在5分鐘之後使用goOffline方法,我可以用DB手動切割? –
是的,因爲[官方文檔](https://firebase.google.com/docs/reference/android/com/google/firebase/database/FirebaseDatabase.html#goOffline())sais)會關閉所有連接Firebase數據庫後端直到goOnline()被調用。 –
你是否設法解決了這個問題? –
關閉連接5分鐘的延遲不太可能是電量消耗。雖然您可以自己調用goOffline()來更早地關閉連接,但此類連接的微管理可能不會延長電池壽命。 –