https://github.com/bumptech/glide
项目中用的版本是4.6.1
目前最新
implementation ‘com.github.bumptech.glide:glide:4.9.0’
annotationProcessor ‘com.github.bumptech.glide:compiler:4.9.0’
glide.with(context).load(url).into();
使用的是流式API;
1.占位符:Placeholder
GlideApp.with(fragment)
.load(url)
.placeholder(R.drawable.placeholder)
.into(view);
GlideApp.with(fragment)
.load(url)
.placeholder(new ColorDrawable(Color.BLACK))
.into(view);
2.错误符 :Error
GlideApp.with(fragment)
.load(url)
.error(R.drawable.error)
.into(view);
GlideApp.with(fragment)
.load(url)
.error(new ColorDrawable(Color.RED))
.into(view);
3.后备回调符 Fallback
GlideApp.with(fragment)
.load(url)
.fallback(R.drawable.fallback)
.into(view);
GlideApp.with(fragment)
.load(url)
.fallback(new ColorDrawable(Color.GREY))
.into(view);
资源重用
引用计数:glide为每个资源保持了一个引用计数。
- 增加计数:每次调用into()来加载一个资源,这个资源得引用计数就会加1。如果相同得资源被加载到两个不同的Target,则在两个加载完成之后,它得引用计数将会为2;
- 减少引用计数:在加载资源得View或者Target上调用clear();在这个View或者Target上调用对另外一个资源请求得into()方法;
- 释放资源:当引用计数到达0时。这个资源会被释放并返回给glide以重用。当资源被返回给glide以重用以后,继续使用它是不安全得。
池化
未完