2016-05-08 3 views
3

У меня есть активность, которая будет загружать изображения один за другим в том же изображении с использованием анимации fadein fadeout. Чтобы обеспечить хороший пользовательский интерфейс, я хочу асинхронно предварительно отображать изображения и показывать их с постоянным потоком. Я хочу использовать глиссирование для достижения вышеуказанного поведения. Но я смущен, потому что есть два разных подхода, которые я нашел в Интернете для получения изображений (Cache). Первый использует .preload Glide (в) метод:Предварительная выборка изображений с использованием Glide in android

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

Второй использует Glide в .downloadOnly (Int, Int) метод:

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

У меня есть два вопроса:

  1. В чем разница между preload и downloadOnly и какой из лучших вариантов моей ситуации?
  2. Как узнать, что все мои изображения были предварительно выбраны, и я могу продолжить процесс показа изображений с использованием одного из вышеперечисленных (Best one) подходов?

ответ

0

Смотрите Glide Документация здесь:

Glide Documentation

Поиск по классу "DrawableTypeRequest", который имеет как эти методы предварительной загрузки() и downloadOnly().

Как сказано в документации:

преднагрузки()

Предварительно загружает ресурс в кэш, используя Target.SIZE_ORIGINAL как> целевой ширины и высоты. Эквивалентен вызову preload (int, int) с>> Target.SIZE_ORIGINAL как шириной и высотой.

downloadOnly (интермедиат ширина, высота INT)

Грузы исходные данные в немодифицированных кэше и возвращает будущее>, которые могут быть использованы для извлечения кэш-файла, содержащего данные.

Я бы предположил, что preload() будет хорошо для вас.

Смежные вопросы