2016-08-15 7 views
1

Während des informellen Testens mit SDK 9.X mit einem Listener unter .info/connected und einer OnDisconnect Aktion habe ich beobachtet, dass FirebaseDatabase automatisch nach ein oder zwei Minuten die Verbindung trennt, wenn keine Verbindung benötigt wird. Der Status "keine Verbindung erforderlich" scheint zu sein, wenn keine Listener registriert sind und keine Schreibvorgänge ausstehen.Wird die Verbindung von FirebaseDatabase automatisch verwaltet?

Ich habe jedoch nichts in der Firebase-Dokumentation gefunden, das bestätigt, dass dies eine unterstützte Funktion ist, sodass Entwickler nicht sicher sind, ob dieses Verhalten zuverlässig ist. Ich würde lieber meine Listener sorgfältig verwalten und Firebase die Verbindung verwalten lassen, anstatt die Verbindung in meinem Code mit goOffline() und goOnLine() zu verwalten.

Ist die automatische Verwaltung der Verbindung eine Funktion, die von Firebase unterstützt wird, sodass Entwickler sich darauf verlassen können, dass sie in zukünftigen Versionen des SDK funktioniert und in Zukunft ist?

Antwort

0

Ja, dies ist das erwartete Verhalten, auf das Sie sich verlassen können. Es ist derzeit nur für Android implementiert, aber wenn Sie keine ausgehenden Listener, keine onDisconnect() -Operationen haben und innerhalb von 1 Minute keine Operation (lesen oder schreiben) ausgeführt haben, wird der Client seine Verbindung beenden. Es wird dann neu gestartet, wenn/wenn Sie eine andere Operation ausführen.

Ich habe einen Fehler protokolliert, um unsere Dokumentation zu aktualisieren, um dies zu berücksichtigen.

+0

Der Code, den ich an den Fehlerbericht angehängt habe, den ich bezüglich des 'onDisconnect()' Verhaltens eingereicht habe, zeigt, dass die erste Registrierung einer Verbindungstrennung die automatische Trennung nicht verhindert, aber nachfolgende Registrierungen tun. Ich hoffe, Firebase gibt diesem Thema mehr Aufmerksamkeit. Es ist leicht einzusehen, warum die Verbindung für Listener und ausstehende Lese-/Schreibvorgänge aufrechterhalten werden muss. Es ist nicht klar, warum eine Verbindung unterbrochen werden muss, damit die Verbindung aufrechterhalten wird. –

Verwandte Themen