Glide занимает много времени, прежде чем показывать большие изображения

Я пытаюсь загрузить изображения (около 5 МБ каждый) в ImageViewразмером 45x45 dp в RecyclerView. Несмотря на то, что исходное изображение большое, Glide не загружает его меньшую версию, потому что целевой ImageView маленький? Итак, я ожидаю, что Glide загрузит изображения всего за несколько секунд со средней скоростью интернета. Но это занимает около 20 секунд. В чем проблема?

Изображения хранятся в хранилище Firebase.

Скользящий код:

Glide.with(context).load(firebaseStorageUrl).into(imageView);

3 ответа

Glide сначала загружается изображение, а затем у вас есть методы для извлечения изображения в виде растрового изображения для изменения размера и сжатия изображения. Однако это не решит вашу проблему. Возможно, есть два решения для этого:

  1. Держите низкое изображение на сервере.
  2. Используйте библиотеку File Downloader, которая помогает загружать изображения последовательно и асинхронно в виде очереди, что поможет быстро загрузить файл. Библиотека FileDownloader является хорошим вариантом для этого.

Glide необходимо загрузить полное изображение из Интернета, прежде чем он сможет изменить его размер. Так что загрузка занимает много времени с первого раза. После этого он может использовать небольшое изображение из созданного им кэша, если у вас активировано кэширование.

Если вы не хотите загружать файлы меньшего размера, я рекомендую использовать библиотеку Gif-drawable для загрузки больших изображений из Glide в GifDrawable(работает как ImageView).

Он может загружать файлы размером более 100 МБ очень быстро. Работает с обычными JPG, PNG и BMP. Если это GIF-файлы, он воспроизводится без задержки или остановки.

Если файлы рисования, объявленные android:src и / или android:background, являются файлами GIF, они автоматически распознаются как GifDrawables и анимируются. Если данный drawable не GIF, то упомянутые виды работают как обычный ImageView и ImageButton.

Используйте Override в Glide для более быстрой загрузки изображения.

Другие вопросы по тегам