2016-05-08 6 views
3

Ich habe eine Aktivität, die Bilder im gleichen Bild mit Fadein Fadeout Animationen geladen wird. Um eine gute Benutzererfahrung zu ermöglichen, möchte ich die Bilder asynchron abrufen und sie mit einem konstanten Fluss anzeigen. Ich möchte Gleiten verwenden, um das oben genannte Verhalten zu erreichen. Aber ich bin verwirrt, weil es zwei verschiedene Ansätze gibt, die ich im Internet gefunden habe, um Bilder (Cache) vorzuladen. Zuerst wird mit Glide .preload() Methode:Vor dem Abrufen von Bildern mit Glide in Android

Glide.with(this) 
.load(url) 
.diskCacheStrategy(DiskCacheStrategy.SOURCE) 
.preload() 

Zweitens wird mit Glide .downloadOnly (int, int) Methode:

Glide.with(applicationContext) 
.load(yourUrl) 
.downloadOnly(500, 500); 

Ich habe zwei Fragen:

  1. Was ist der Unterschied zwischen preload und downloadOnly und welche beste Suiten meine Situation?
  2. Woher weiß ich, dass alle meine Bilder vorgeladen wurden und ich kann den Prozess der Bilder mit einem der oben genannten (Best One) Ansätze fortsetzen?

Antwort

0

Siehe Glide Dokumentation hier:

Glide Documentation

Suche nach Klasse "DrawableTypeRequest", die sowohl diese Verfahren Vorspannung() und Downloadonly().

wie die Dokumentation sagt:

Vorlast()

Preloads die Ressource in den Cache Target.SIZE_ORIGINAL als> Ziel Breite und Höhe verwendet wird. Entspricht dem Aufruf von preload (int, int) mit>> Target.SIZE_ORIGINAL als Breite und Höhe.

Downloadonly (int Breite, Höhe int)

Lädt die ursprüngliche unmodifizierte Daten in den Cache und gibt eine Zukunft>, die verwendet werden können, die Cache-Datei enthält, um die Daten abzurufen.

Ich würde vorschlagen, preload() wäre in Ordnung für Sie.

Verwandte Themen