Ich verwende einen onChildEventListener, um 10'000 Kinder abzurufen.
Die Zeit bis zum Abschluss des Vorgangs beträgt ca. 5 Sekunden.
Während dieser Zeit friert die App ein.
Gibt es eine Möglichkeit, es schneller zu machen?
Ich habe auch versucht, einen ValueEventListener zu verwenden und festgestellt, dass das Durchfahren von Kindern viel schneller ist. Wie auch immer, das war keine zuverlässige Lösung, also wechselte ich wieder zu onChildEventListener.Firebase onChildEventListener langsam
2
A
Antwort
1
Der Datenabrufprozess ist genau derselbe, ob Sie eine ValueEventListener
oder eine ChildEventListener
verwenden. Der einzige Unterschied besteht darin, wie die Ereignisse ausgelöst werden/Rückrufe in Ihrer App ausgelöst werden. Außerdem: Alle Netzwerkaktivitäten für die Datenbank werden in einem separaten Thread ausgeführt.
Dies bedeutet, es ist nicht das Abrufen der Daten, die Ihre App einfriert, sondern eher die Art, wie Sie die Daten in Ihrem onDataChange()
Rückruf behandeln. Wenn Sie dort substanziell arbeiten, sollten Sie dies über den Hauptthread hinaus tun.
Verwandte Themen
- 1. Push zu Firebase - langsam und inkonsistent
- 2. MySQL langsam Abfrageprotokoll - wie langsam ist langsam?
- 3. Firebase Analytics-Uploadverzögerung
- 4. Abfrage Firebase mit Python-Firebase
- 5. firebase: implementierende Mustersuche in Firebase
- 6. SQL-Abfragen - Wie langsam ist zu langsam?
- 7. Optimieren ionische Seitenlast mit Firebase
- 8. Verschluckungsrate langsam
- 9. BackgroundWorker langsam
- 10. Firebase Fehler - „Firebase ist nicht definiert“
- 11. Firebase CocoaPods nicht gefunden Firebase Property
- 12. Firebase ist kein Konstruktorfehler (Firebase mit reagieren)
- 13. Wie Firebase-Speicherdatei mit Firebase-Datenbank verknüpfen
- 14. Firebase Push-Tasten als Firebase Storage-Dateinamen?
- 15. Firebase-Tools "-bash: Firebase: Befehl nicht gefunden"
- 16. Authentifizieren Firebase mit Botkit-Storage-Firebase-Modul
- 17. Firebase-Benachrichtigungsthemen und Firebase-Authentifizierung integrieren
- 18. Export firebase
- 19. Firebase: Aktualisierungsschlüssel?
- 20. Einzelartikel Firebase
- 21. Firebase Speicherfehler
- 22. Firebase: Videospeicher
- 23. in Firebase
- 24. Firebase getDownloadURL
- 25. Firebase-Skalierbarkeitsgrenze
- 26. firebase runTransactionBlock
- 27. Firebase + Berechtigungen
- 28. Firebase-Benachrichtigung
- 29. Firebase Abfrage
- 30. Firebase-Architektur
Vielen Dank für Ihre Antwort. Es gab tatsächlich zwei Dinge, die die Langsamkeit verursachten. Ich verwendete dataSnapshot.getValue() mehrmals innerhalb onChildAdded() und ich verwendete notifyDataSetChanged() für jedes Kind hinzugefügt. Das Problem, mit dem ich jetzt konfrontiert bin, ist, dass ich die Benutzeroberfläche aktualisieren muss, wenn alle Kinder abgerufen wurden. Jedenfalls scheint es in Firebase keine Methode zu geben, um zu wissen, wann das passiert ist. –