2016-11-03 2 views
1

Ich habe einige zusammengesetzte Komponenten, die als meine ListView-Elemente verwendet werden. Um die Leistung zu erhöhen, verwende ich den View Holder, um mein ListView-Objekt zu rendern, aber da jeder eine Compound-Komponente enthält, ist es immer noch langsam und das Rendern jeder Component-Komponente erfordert jedes Mal das Aufblasen der Komponente.Android View Holder für Compound-Komponenten

Gibt es eine Möglichkeit, dass ich etwas wie ViewHolder-Muster für meine Compound-Komponente verwenden kann?

+0

Viewholder Muster ist eine Referenz auf Ansichten zu halten, so müssen Sie findViewById() jedes Mal wenn Sie wollen nicht ausführen um Ihre Daten an die Anzeige zu binden. Es hat nichts damit zu tun, Ansichten aufzublähen. – Weizhi

+0

Verwenden Sie RecyclerView, das die ViewHolder anstelle von ListView verwendet. Reduzieren Sie die Verschachtelung von Ansichten (Use kann ConstraintLayout für die zusammengesetzten Ansichten verwenden). Wenn Sie Bilder laden, die Sie in die zusammengesetzten Ansichten laden, laden Sie sie mit Picasso, da sie sie vor dem Laden in den Speicher neu berechnen. – toshkinl

Antwort