Ich bin ein Webentwickler und eines der aktuellen Probleme ist die Migration zu Single-Page-Anwendungen (SPA) und die damit verbundenen Herausforderungen. Wenn wir zum Beispiel das unendliche Scrollen implementieren, können wir uns leicht mit Hunderten von DOM-Knoten (Document Object Model) finden, die im Browser gerendert werden.Wie behandeln native Apps eine große Anzahl von Knoten in der Ansicht?
Anschließend, wenn wir einige Änderungen vornehmen müssen, die sich durch alle von ihnen ausbreiten, kann dies einen riesigen Abschlag von unserer Leistung nehmen. Das ist teilweise ein Grund, warum Bibliotheken wie React Popularität gewonnen haben - virtuelles DOM.
Das virtuelle DOM erstellt eine virtuelle Darstellung des gesamten DOM-Baums. Wenn Änderungen vorgenommen werden, vergleicht es den alten und neuen Status und aktualisiert nur die Knoten, die sich geändert haben. Ionic, ein hybrides App-Framework, hat seine eigene Lösung für infinite scroll, die diejenigen Knoten versteckt, die nicht in der Ansicht sind, um die Leistung zu beschleunigen.
Also frage ich mich, wie können native Apps mit einer großen Anzahl von Knoten in der Ansicht umgehen? Jede soziale App mit einem Feed kann diese Nummer nach ein paar Sekunden Scrollen erreichen. Wird es vom Betriebssystem behandelt? Ist es überhaupt ein Problem?
Vielen Dank! Weißt du, ob es eine ähnliche Technik für iOS-Apps gibt? – lmenus
Leider habe ich momentan nicht sehr viel iOS-Erfahrung. Zumindest für UICollectionView scheinen sie eine ähnliche Caching-Strategie zu verwenden. Jedes Mal, wenn View eine Zelle für eine bestimmte Zeile (cellforIndexAtPath) anfordert, können und sollten Sie die Methode 'dequeReusableCellWithIdentifier' verwenden, um eine Instanz einer Zelle zu erhalten, anstatt ständig eine neue Zelle zu erstellen. Aber wie gesagt, ich vermisse Erfahrung, um eine qualifizierte Antwort zurückzugeben. – GPuschka
Keine Sorge, du hast mir bereits mit Android geholfen, danke! – lmenus