Скользите предварительно загружаемые изображения ресурсов
Я использую библиотеку загрузки изображений 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