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!
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
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. –
Ich kann wirklich nicht über Ihre Datenstrukturwahl mit dieser kleinen Information sagen. Solange Sie jedoch Franks Rat befolgen, wird alles reibungslos funktionieren. –