Скользите предварительно загружаемые изображения ресурсов

Я использую библиотеку загрузки изображений Glide и хочу предварительно загрузить некоторые изображения, которые я сохранил на своем устройстве, как ресурс для рисования (не URL!).

Таким образом, при нажатии кнопок, несколько изображений должны быть заменены (и в конце цикла) в ImageView,

Проблема в том, что в первый раз я вхожу в Fragment и зацикливание изображений нажатием кнопок, изображения мигают (поскольку они загружаются в память и затем отображаются). Но когда я загрузил все изображения в память, цикл выглядит хорошо (не мигает), и изображения отображаются мгновенно.

Я просто не могу понять, как работает предварительная нагрузка, и избавиться от мигания.

Таким образом, я загружаю свои изображения, как это (упрощенный за исключением GlideApp линии):

// Do this when loading the fragment.
for (i in 0..9) {
    for (j in 0..2) {
        val resInt = getImages(i)[j] // Returns R.drawable.image1, R.drawable.image2 etc.
        GlideApp.with(activity).load(resInt).diskCacheStrategy(DiskCacheStrategy.ALL).preload()
    }
}

...

// Do this when pressing the buttons
loadImage(activity, getImages(0)[1], day_image_view) // Load R.drawable.image2

...

fun loadImage(context: Context, res: Int, imageView: ImageView) {
    GlideApp.with(context).load(res).diskCacheStrategy(DiskCacheStrategy.ALL).dontAnimate().into(imageView)
}

Спасибо и хорошего дня <3

0 ответов

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