先敬上官方git:https://github.com/bumptech/glide/wiki
android 厂推荐网络框架
- 依赖包
implementation 你的v4 包
implementation 'com.android.support:support-v4:23.2.1'
- 基本的使用:
Glide.with(context) // 依赖组件,不要依赖Context,依赖具体的活动(fragment,activiyt) ;glide 会随具体的活动生命周期做活动;防止内存泄漏
.load(url) //需要加载的地址
.into(imageView); // 需要填充的view
- 添加缩略图:
Glide.with(context)
.load(url)
.placeholder(R.drawable.place_image)//占位图片
.error(R.drawable.error_image)//错误图片的展示
.into(imageView);
由于占位图片一般都是放到本地:所以用int 值作为图片的的传值类型;
- 动画效果:
crossFade() //默认渐入的动画效果。可以重写crossFade(int) 来控制时间,
同时也可以自己设定动画来实现;但是如果是自己自定义的view,就需要设置自己的viewtarger;
- 裁剪图片:override(width,height) ;控制图片的大小到制定view 的大小
- glide 的缓存机制:原理还是Lrucatch
glide 的内存缓存是默认打开的:skipMemoryCache(true) // 可以通过这个方法来设置缓存是否是要开启
.diskCacheStrategy( DiskCacheStrategy.NONE )// 设置是否需要磁盘的缓存
DiskCacheStrategy.NONE 什么都不缓存
DiskCacheStrategy.SOURCE 只缓存全尺寸图
DiskCacheStrategy.RESULT 只缓存最终的加载图
DiskCacheStrategy.ALL 缓存所有版本图(默认行为)
- 加载图片的优先级:
//设置 高 优先级
Glide.with( context )
.load( highPriorityImageUrl )
.priority (Priority.HIGH )
.into( imageView );
//设置 低 优先级
Glide.with( context )
.load( lowPriorityImageUrl )
.priority( Priority.LOW )
.into( imageView );
glide 的其他功能:
可以加载gif图片,和video;Target
图片加载的回调;当图片加载完成时的回调;
可以代替int 方法;但是生命周期有可能不和活动不再统一:
- ViewTarget ;
可以显示在自定义的view 的上