如何减少firebase realtimeDB同步连接?

如何减少firebase realtimeDB同步连接?,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我的应用程序只使用SingleValueEvent和setValue方法在后台和配置中运行。我听说即使我在一秒钟内使用SingleValueEvent和setValue,firebase在5分钟后仍然连接。而且浪费了很多电池 完成活动后,如何停止与realtimeDB jsut的连接?如Frank van Puffelen在前面的一篇文章中所述,如果5分钟内没有活动侦听器和写入,Firebase客户端将自动断开连接。当您连接新的侦听器或写入数据时,它将自动重新连接。这意味着只有在创建其他侦听器或

我的应用程序只使用SingleValueEvent和setValue方法在后台和配置中运行。我听说即使我在一秒钟内使用SingleValueEvent和setValue,firebase在5分钟后仍然连接。而且浪费了很多电池


完成活动后,如何停止与realtimeDB jsut的连接?

如Frank van Puffelen在前面的一篇文章中所述,如果5分钟内没有活动侦听器和写入,Firebase客户端将自动断开连接。当您连接新的侦听器或写入数据时,它将自动重新连接。这意味着只有在创建其他侦听器或需要将数据写入数据库时,才会自动重新连接

因此,如果没有新的侦听器,并且您不必编写数据,那么您肯定不必担心

删除侦听器的位置是onPause或onStop方法


希望有帮助。

谢谢你的帮助。我还有一个问题。如果我在5分钟后使用goOffline方法,我可以手动切断与DB的连接吗?是的,作为SAI,在调用goOnline之前关闭与Firebase数据库后端的所有连接。不,我还没有。如果这是解决问题的方法,我会在这里找到答案。我解决了问题。这不管用。final FirebaseDatabase testDB=FirebaseDatabase.getInstance;DatabaseReference test\u ref=testDB.getReferencetest;testDB.goOnline;test\u ref.childtesting.setValuetesttest;testDB.goffline;但是这次考试很有效。testDB.goOffline;->TimerTask mTask=new TimerTask{@Override public void run{testDB.goOffline;}};new Timer.schedulemTask,5000;关闭连接的5分钟延迟不太可能是蓄电池耗电。虽然你可以自己打电话给goOffline提前关闭连接,但这种连接的微管理不太可能延长你的电池寿命。