Wie man smooth scrolling Listviews in Android, ITworld machen
In der mobilen Entwicklung heute ist die Benutzeroberfläche und User Experience (UI / UX) König. Es ist wichtig, die Leistung Ihrer Anwendung zu optimieren, um die beste Erfahrung zu bieten. Hier ist, wie das Listview in Android für smooth scrolling zu optimieren.
Android hat sich hinter iOS auf dem UI / UX Front aufgrund der erhöhten Flexibilität zur Verfügung gestellt von der Android-Plattform zurückgeblieben. Während iOS mehr Begrenzung auf, was in den Entwickler verfügbar ist, erzwingen diese Einschränkungen Schlüsselkomponenten für die beste Benutzererfahrung zu optimieren. Es ist als Entwickler bei Ihnen richtig Ihre Anwendung in vielen weiteren Fällen unter Android für die Leistung zu codieren.
Eines der am meisten verwendeten Ansichten in mobilen Anwendungen ist die Listenansicht, ein vertikaler Scrollen Satz von Elementen. Es ist wichtig, dass Sie die Listenansicht konstruieren und es Layout-Elemente in der richtigen Art und Weise, um eine effiziente Leistung und gleichmäßiges Scrollen zu erreichen.
Listview-Erstellung
Wenn Sie ein Layout in Android bauen, Sie die Ansicht in XML-Konstrukt, aufblasen, dass das Layout in ein View-Objekt, dann für jedes Element eine ID-Lookup auf die Ansicht durchführen - es auf die richtige Art Widget Gießen und es auf eine variable Bindung.
Diese Funktion wird für jede Zelle in einer Listenansicht erhalten ausgeführt, um das Layout zu ziehen. Android verwendet eine Recyclingtechnik zu vermeiden, das gleiche Layout immer und immer wieder aufzublasen (da es immer das gleiche in diesem Fall), aber die ID-Lookups für jedes spezifische Element immer noch jedes Mal aufgerufen.
Das bedeutet, dass für jede Zelle in der Listenansicht werden CPU-Zyklen verwendet, um diese gleichen 4 twitter Elemente jedes Mal zu sehen. Kompliziertere Ansichten können Dutzende von Elementen haben. Die Kosten für diesen Look ist die Anzahl der Zellen * die Anzahl der Elemente, die schnell wachsen können.
Die Ansicht Halter Pattern
Mit dem Blick Halter Mustern, ein statischer Bezug auf jedes Element erzeugt und gehalten auf, während die Listview gezogen wird. Dies reduziert die Kosten für die Element-Lookups auf 1 * die Anzahl der Elemente. eine massive Einsparungen bei den CPU-Zyklen.
Hinweis: Ok, Ok, es ist nicht ganz 1x ist, da die Sicht nicht immer recycelt wird, aber Sie erhalten das Bild.
Die Implementierung dieses Musters ist ziemlich einfach. Um zu starten, macht eine statische Klasse in Ihrem Adapter Klasse Ihrer Widget Elemente zu halten:
Dann ändern Sie Ihre getView Funktion.
Zunächst überprüfen und sehen, ob die Ansicht noch initialisiert wurde. Wenn es nicht initialisieren hat sowohl die Aussicht und die ViewHolder, führen Sie die Element-Lookups, und stellen Sie den Tag auf der Ansicht, Ihre ViewHolder Objekt zu halten. Ist dies der Fall, erhält das bestehende ViewHolder Objekt aus der Sicht Tag (Speicher der ID-Lookups).
Als nächstes verwenden Sie die Referenzen ViewHolder Element Ihrer Ansicht nach zu bauen.
Eine bessere Erfahrung
Dies kann eine bewährte Methode für Listview-Codierung in Betracht gezogen werden. Android-Apps haben einen schlechten Ruf für Design, weil Optimierungen wie diese übersprungen werden. Die Schönheit von Android ist die Offenheit und Flexibilität können Sie in der Nähe von irgendetwas tun, aber mit dieser Macht kommt eine Verantwortung, die notwendigen Maßnahmen zu ergreifen, um Ihre Schaffung effizienter zu machen. Da das Listview-Steuerelement so üblich ist, kann diese Spitze einen langen Weg Android UI / UX zu helfen.
Matthew Mombrea ist ein Software-Ingenieur, der Gründer von Cypress Norden. und Technik-Enthusiasten.
Die Meinungen in diesem Blog ausgedrückt sind die des Autors und stellen nicht notwendigerweise die von ITworld, seine Mutter-, Tochter- oder verbundenen Unternehmen vertreten.