Glide框架

it2022-05-05  175

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以重用以后,继续使用它是不安全得。

池化

未完


最新回复(0)