android glide预加载,[Android][Glide]在RecyclerView中使用Glide的预加载功能RecyclerViewPreloader...

本文使用的Glide版本为4.8.0

正常的在recyclerview中使用Glide.with().load()加载网络图片,Glide只会在滚动出来的时候才会获取图片,这样对于网速不那么快,或者图片有点大的时候,可能就会先显示占位图,如果想要在未滚出来时候就先从网络获取出图片来,自己监听recyclerView然后去使用Glide的preload,会过于复杂,而且坑很多,还好Glide给我们提供了预加载的模块RecyclerViewPreloader。

RecyclerViewPreloader需要两个配置的参数类PreloadSizeProvider和PreloadModelProvider。

PreloadSizeProvider是用来配置预加载图片的大小的

Glide官网上是这样写的

PreloadSizeProvider sizeProvider =

new FixedPreloadSizeProvider(imageWidthPixels, imageHeightPixels);

复制代码

imageWidthPixels, imageHeightPixels为需要预加载的图片宽和高的像素,PreloadSizeProvider 负责保证你的 RecyclerViewPreloader 使用与你的适配器中 onBindViewHolder 方法一样的尺寸来加载图片。

PreloadModelProvider的作用有两个,一个是返回一个地址(URL或者路径),第二个是把这个地址加载到内存中

private class MyPreloadModelProvider implements ListPreloader.PreloadModelProvider {

@NonNull

&

你可能感兴趣的:(android,glide预加载)