0

Ich habe einen einfachen Viewpager mit 2 Fragmenten. Einer ist zum Laden der neuesten Beiträge und der andere lädt Top-Post, ähnlich wie die offizielle Reddit-App.Der effizienteste Weg, große Datenmengen auf Firebase zu laden

Die Art, wie ich die Firebase-Daten gerade lade, besteht darin, den Snapshot über einen singleValueListener zu erhalten und danach zu sortieren. Die Registerkarte "neu" erfordert keine Abfragen, da sie bereits in der richtigen Reihenfolge angeordnet ist, für "top" müsste sie jedoch nach Punkten sortiert werden. Ich lade diese Daten dann direkt in RecyclerView.

Gibt es eine effizientere Möglichkeit, die Daten zu laden? Ich habe momentan nur eine kleine Datenbank und es dauert eine Weile, um zu laden, besonders am Anfang. Die einzige Idee, die ich gerade habe, ist die Verwendung der limitTo-Methoden von Firebase, die jedoch nicht für die Registerkarte "Top" funktioniert, da sie alle Daten benötigt, um damit arbeiten zu können.

Danke!

Antwort

1

Sie haben Ihren Code nicht veröffentlicht, daher kann ich dazu nichts sagen. Aber von dem, was Sie beschrieben haben, ist die Methode, die Sie verwenden, die effizienteste.

Aus meiner eigenen Erfahrung kann ich bestätigen, dass Firebase blitzschnell ist. Die Verzögerung, die Sie gleich zu Beginn haben, liegt jedoch daran, dass Firebase zu Beginn eine Verbindung mit der Datenbank herstellen muss. Sobald die Verbindung hergestellt ist, erfolgen Updates und Downloads in Echtzeit (nur beschränkt auf die Menge der zu bearbeitenden Daten und die Netzwerkqualität). Eine Sache, die Sie untersuchen können, ist das Aktivieren der Offline-Persistenz, sodass den Benutzern Ihrer App beim Start der App kein leerer Bildschirm angezeigt wird. Sie können mehr darüber lesen here.

+0

Wenn Sie jetzt darüber nachdenken, haben Sie recht. Die langsame Ladezeit tritt nur während der ersten Ladung auf. Danke für die Information. Ich werde es jetzt lesen. Meine Datenbank enthält momentan nur 20 Beiträge. Aber denkst du, dass es mit meinem aktuellen Designmuster in der Lage sein wird, Hunderte von Posts zu bearbeiten und zu sortieren? – magicturtle

+1

Sie sollten nur Daten laden, die Sie dem Benutzer zeigen. Sie sind nicht im Stande, dem Benutzer jemals Hunderte von Beiträgen zu zeigen, also sollten Sie sie nicht laden. Wenn Sie eine Liste mit Posts anzeigen müssen, zeigen Sie wahrscheinlich nur den Titel und einige andere Metadaten an. Erstellen Sie in solchen Fällen eine separate Liste dieser "Listendaten" in Ihrer Datenbank und laden Sie diese. –

+0

Ich kann wirklich nicht über Ihre Datenstrukturwahl mit dieser kleinen Information sagen. Solange Sie jedoch Franks Rat befolgen, wird alles reibungslos funktionieren. –

Verwandte Themen