Android convertView, um es zu benutzen oder nicht?

Im ArtikelMultithreading für Leistung vom Android Developer Blog,convertView wird verwendet inAdapter.getItem() um eine Liste von anzuzeigenImageView, die über HttpRequest.Yet heruntergeladen werden, sehe ich auch einige Android-Tutorials, die das nicht verwendenconvertViewund blasen Sie einfach eine neue Ansicht inAdapter.getItem().

Ich frage mich, was der Vorteil der Verwendung istconvertView? Wie wird die verwendete Ansicht wiederverwendet? Wo wird die verwendete Ansicht zwischengespeichert?

Ich stelle diese Frage, weil ich sie nicht benutzt habeconvertView in meinem Projekt und ich möchte die Kosten für die Nichtbenutzung wissen. Unten ist meine Implementierung einer ListView von Bildern.

Anstatt zu benutzenconvertViewIch blase einen neuen Blick aufAdapter.getItem(). Außerdem erstelle ich eine Wrapper-Klasse, um die Mitarbeiter in jedem Element von zu haltenlistView. Sobald das Bild heruntergeladen wurde, wird es für jedes Listenelement als Bitmap in der Wrapper-Klasse gespeichert (das Bild ist klein). Auf diese Weise kann ich vermeiden, dass dasselbe Bild doppelt heruntergeladen wird. Und das vermeidet auch die Probleme mit den Rennbedingungen, die angesprochen wurdenMultithreading für Leistung. Aber ich bin immer noch ein bisschen besorgt, gibt es Probleme, die mit meiner Methode nicht gut sind?

Zu Ihrer Information: Der von @Carl Anderson empfohlene Artikel enthält Details zur Funktionsweise von convertView im Adapter. Das in diesem Artikel vorgeschlagene Google IO von Romain Guy ist eine weitere gute Referenz.

Kurz gesagt, die Verwendung von convertView ist sowohl räumlich als auch zeitlich optimiert. Außerdem habe ich meinen eigenen imageDownloader aufgegeben und benutze den von @CommonsWare empfohlenen Picasso. Es wirkt wie ein Zauber.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage