Медленная загрузка изображений с помощью Glide на RecyclerView - PullRequest
0 голосов
/ 18 октября 2019

У меня есть recyclerView с разметкой сетки, одновременно на экране отображается 6 карт и вызывается JSON с 10 объектами, а для загрузки изображения я использую glide

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

Glide
     .with(Context)
     .load(url)
     .thumbnail(0.25f)
     .transition(DrawableTransitionOptions.withCrossFade())
     .into(ImageView);

Но все равно не очень помог

тогда Я использую другой методвызов RequestBuilder Это помогло, но не достиг желаемого уровня

Кто-нибудь может подсказать, что еще я могу сделать, чтобы уменьшить время загрузки изображений, чтобы сделать работу с пользователем лучше?

1 Ответ

0 голосов
/ 18 октября 2019

Используйте эти опции (In kotlin) -

GlideApp.with(mContext)
                .apply(getRectangleRequestOptions(true))
                .load(url)
                .thumbnail(0.5f)
                .into(layout.bannerAdapterImg)

Где getSquareRequestOptions -

fun getSquareRequestOptions(isCenterCrop:Boolean=true): RequestOptions {
        return RequestOptions().also {
            it.placeholder(R.drawable.ic_placeholder)
            it.error(R.drawable.ic_err_image)
            it.override(200, 200)                         // override size as you need
            it.diskCacheStrategy(DiskCacheStrategy.ALL)   //If your images are always same
            it.format(DecodeFormat.PREFER_RGB_565)        // the decode format - this will not use alpha at all

            if(isCenterCrop)
                it.centerCrop()
            else
                it.fitCenter()
        }
    }

* Для кода Java просто обновите getSquareRequestOptions функцию в Java.

Это лучшее, что может сделать планер. Если это все еще занимает время, сожмите изображения со стороны сервера.

...