Ich kann keine wirklich glaubwürdige Quelle finden, die erklärt, was LazyList ist. Jemand?Was ist LazyList?
Antwort
Lazy Liste ist Lazy Laden von Bildern von SD-Karte oder vom Server mit URLs. Es ist wie beim Laden von Bildern.
Bilder können im lokalen SD-Karten- oder Telefonspeicher zwischengespeichert werden. Url gilt als der Schlüssel. Wenn der Schlüssel in SD-Karte vorhanden ist, zeigen Sie Bilder von SD-Karte sonst Bild durch Herunterladen von Server und Zwischenspeichern der gleichen an Speicherort Ihrer Wahl. Das Cache-Limit kann gesetzt werden. Sie können auch einen eigenen Speicherort zum Zwischenspeichern von Bildern auswählen. Cache kann auch gelöscht werden.
Anstatt dass der Benutzer darauf wartet, große Bilder herunterzuladen und dann die faule Liste anzuzeigen, werden Bilder auf Anforderung geladen. Da Bilder zwischengespeichert werden, können Sie Bilder offline anzeigen.
https://github.com/thest1/LazyList. Faule Liste
In Ihrem GetView
imageLoader.DisplayImage(imageurl, imageview);
Imageloader Anzeigemethode
public void DisplayImage(String url, ImageView imageView) //url and imageview as parameters
{
imageViews.put(imageView, url);
Bitmap bitmap=memoryCache.get(url); //get image from cache using url as key
if(bitmap!=null) //if image exists
imageView.setImageBitmap(bitmap); //dispaly iamge
else //downlaod image and dispaly. add to cache.
{
queuePhoto(url, imageView);
imageView.setImageResource(stub_id);
}
}
Eine Alternative zu faul Liste ist Universal-Image Loader
https://github.com/nostra13/Android-Universal-Image-Loader. Es basiert auf Lazy List (funktioniert nach dem gleichen Prinzip). Aber es hat viele andere Konfigurationen.Ich würde bevorzugen, **** Universal Image Loader **** coz zu verwenden, gibt es Ihnen mehr Konfigurationsoptionen. Sie können ein Fehlerbild anzeigen, wenn der Download fehlgeschlagen ist. Kann Bilder mit abgerundeten Ecken anzeigen. Kann auf CD oder Speicher zwischenspeichern. Kann Bild komprimieren.
in Ihrem benutzerdefinierten Adapter Konstruktor
File cacheDir = StorageUtils.getOwnCacheDirectory(a, "your folder");
// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
// You can pass your own memory cache implementation
.discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.enableLogging()
.build();
// Initialize ImageLoader with created configuration. Do it once.
imageLoader.init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_id)//display stub image
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();
In Ihrem getView()
ImageView image=(ImageView)vi.findViewById(R.id.imageview);
imageLoader.displayImage(imageurl, image,options);//provide imageurl, imageview and options
Sie mit anderen Optionen konfigurieren können an Ihre Bedürfnisse anpassen.
Zusammen mit Lazy Loading/Universal Image Loader können Sie Inhaber für reibungslose Scrolling und Leistung anzeigen. http://developer.android.com/training/improving-layouts/smooth-scrolling.html.
Ich denke, das ist anders herum. AFAIK, Lazy Loading ist die Definition, in der Sie die Daten nur dann laden, wenn Sie sie brauchen, und es ist eine gute Design-Praxis.
Also glaube ich, dass das gleiche gilt, nur dieses Mal bezieht es sich auf die Listenansicht.
Wenn ich falsch liege, bitte korrigieren Sie mich.
Das beste Beispiel für faule Liste ist Facebook Benachrichtigungen, Nachrichten, Anfragen. Wenn Sie blättern, werden die Daten geladen.
AFAIK, Ich erkläre Ihnen das Beispiel Wenn Sie viele Bilder mit Text enthalten, dauert es einige Zeit, bis Ihre Liste geladen ist, da Sie Bilder herunterladen müssen und Sie diese in der Liste auffüllen müssen . Angenommen, Ihre Liste enthält 100 Bilder. Es dauert sehr lange, bis jedes Bild heruntergeladen und das Listenelement angezeigt wird. Den Benutzer warten zu lassen, bis die Bilder geladen werden, ist nicht benutzerfreundlich. so was wir tun müssen. Zu diesem Zeitpunkt kommt die faule Liste ins Bild. Es ist die Idee, dass die Bilder im Hintergrund geladen werden und Text währenddessen angezeigt wird.
Jeder weiß, dass listview seine Ansichten für jede Ansicht wiederverwendet. Wenn Ihr Listenansicht 40 Elemente enthält, dann wird Listenansicht keinen Speicher für 40 Elemente zuweisen, stattdessen wird Speicher für die sichtbaren Elemente zugewiesen, d. h. Sie können nur 10 Elemente gleichzeitig sehen. so listview wird 10 Elemente Speicher zuweisen.
Wenn Sie also die Ansicht scrollen, wird die Ansicht aktualisiert. wegen der Sie verlieren Ihre Referenz auf Bilder und Sie müssen sie herunterladen Agian. Um dies zu vermeiden, kommt Caching ins Spiel.
Dieses Beispiel basiert auf meinem Wissen in listview, ich sage nicht, dass dies nur richtig ist. Es könnte in der Antwort falsch sein, wenn irgendein Körper sich frei fühlen würde, mich zu informieren.
- 1. Deserialize Lazylist mit Jackson
- 2. .wo auf einer LazyList nicht funktioniert
- 3. Eibisch können keine Bilder von LazyList Datei laden
- 4. Was ist JAF? Was ist seine Aufgabe?
- 5. Was ist
- 6. Imageloader-Klasse erstellt Lazylist-Ordner in der Galerie. Wie man es vermeidet
- 7. Was ist HTML "ist" Attribut?
- 8. Was ist 'das' ist Javascript
- 9. Was ist für Python was "explodieren" ist für PHP?
- 10. Was ist und was ist die Verwendung der Closure „Richtlinie“
- 11. (iOS) Was ist Superview und was ist Subviews
- 12. Was ist ein DTO und BO? Was ist der Unterschied?
- 13. Was ist xcscheme Datei? Was ist das Ziel?
- 14. Was ist ein PHP-Framework und was ist ein guter?
- 15. Was ist Blend? und was ist seine Beziehung zu WPF?
- 16. Google AMP: Was ist ein Layout? Was ist ein Behälter?
- 17. Was ist eine native Bibliothek? Was ist bindend?
- 18. Was ist das? Template-Methode oder was?
- 19. Was ist Thread.CurrentPrincipal und was macht es?
- 20. Was ist ((Fenster) => {...}) (Fenster); was bedeutet,
- 21. Was ist JSR und was nutzt es?
- 22. Was sind Threads (Was ist ein Thread)?
- 23. Was ist Boxen und was macht es?
- 24. Was ist POI und was bedeutet es?
- 25. Was ist SSO
- 26. _NSZombie_NSKeyValueUndefiniertGetter - Was ist das?
- 27. Was ist Klass & KlassKlass
- 28. Was ist Frühling Roo?
- 29. Was ist ein Protokoll?
- 30. Was ist idr_alloc()
Hey Raghu, ich bin nicht in der Lage, Bilder von lokalen URI holen können Sie bitte helfen? Http: //stackoverflow.com/questions/20109034/lazy-list-fetching-images-from-sdcard-local-url –
groß Erklärung, so Lazy Liste ist ähnlich wie Picasso oder Gleiten? – Fshamri
@ user2198400 das sind Bild-Caching-Bibliotheken. Ja, sie helfen beim faulen Laden. Lesen Sie auch über den Listview-Recycling-Mechanismus. – Raghunandan