Vorabladen einiger Bilder für Listview mit UniversalImageLoader

Ich benutze Sergey Tarasevichs Bibliothek Universal Image Loader in meinem Android-Projekt, um Bilder zu laden eine ListView. Im Moment lade ich meine Bilder in die getView() Methode in meinem Adapter und alles funktioniert wie erwartet.

Das Problem ist, ich möchte einige Bilder (drei oder vier) im Voraus laden, so dass der Benutzer nicht warten muss, bis die Bilder beim Scrollen geladen werden. Was wäre der beste Ansatz, um dies mit dem Universal Image Loader zu erreichen?

4
nl ja ru
Werden das immer wieder die gleichen Bilder sein? Ist dies der Fall, aktivieren Sie einfach das Caching, es befindet sich näher am Ende Ihrer URL. Caching ist standardmäßig deaktiviert - Sie können es aktivieren, so dass Sie nur beim ersten Mal die Belastung Strafe nehmen.
hinzugefügt der Autor Ewald, Quelle
Dann ist die einzige Alternative, die ich kenne, das Laden in eine AsyncTask zu tun - etwas, das im Hintergrund läuft und die Benutzeroberfläche aktualisiert, sobald diese Bilder verfügbar werden.
hinzugefügt der Autor Ewald, Quelle
Das ist wahr - ich dachte, du könntest es im Hintergrund spawnen, während du etwas anderes tust.
hinzugefügt der Autor Ewald, Quelle
@Ewald Nicht so einfach, fürchte ich. Die Liste ist eine Liste von Freunden mit Profilbildern. Ich speichere sie jedoch sowohl auf der Festplatte als auch im Speicher, aber das Problem ist, dass ich sie in getView lade. Sie werden nur angerufen, wenn das Bild bereits vorhanden sein sollte, um zu vermeiden, dass der Stub angezeigt wird.
hinzugefügt der Autor Qw4z1, Quelle
@Ewald Ja, aber das ist im Grunde was UIL macht.
hinzugefügt der Autor Qw4z1, Quelle

1 Antworten

Sie können loadImage (...) für folgende Bilder in getView (...) verwenden, um sie vorab zu cachen.

11
hinzugefügt
Was hast du getan, um Bilder vorab zu laden? können Sie einen Code posten, der beim Laden von Bildern aus dem universellen Image-Loader eine Änderung vorgenommen hat?
hinzugefügt der Autor Sharmilee, Quelle
Ja, etwas in der Art. Du kannst es versuchen, vielleicht hilft es.
hinzugefügt der Autor NOSTRA, Quelle
Wirklich tut es aber für displayImage . Wenn Sie loadImage (...) mehrmals hintereinander aufrufen, erhalten Sie mehrere Anfragen.
hinzugefügt der Autor NOSTRA, Quelle
Also ... meinst du, wenn ich an der Position x in getView bin benutze ich loadImage an der Position x + 1, x + 2 usw.?
hinzugefügt der Autor Qw4z1, Quelle
Verwenden Sie dies jetzt kombiniert mit einem Listener, um nach unten oder nach oben zu laden. nur das Vorladen von einem gibt der Benutzererfahrung einen großen Schub.
hinzugefügt der Autor Qw4z1, Quelle
Wenn Sie schnell scrollen und mehr als ein Bild vorladen, wird loadImage() mehrfach für denselben URI aufgerufen. Ist Ihre Bibliothek darüber informiert und lädt nicht denselben URI gleichzeitig?
hinzugefügt der Autor McLovin, Quelle