Android开发学习

Glide图片缓存

2017-05-11  本文已影响107人  heyzhuyue

Glide工程依赖

dependencies {  
    compile 'com.github.bumptech.glide:glide:3.5.2'  
    compile 'com.android.support:support-v4:22.0.0'  
} 

Glide使用需要Support Library v4依赖支持

Glide基本使用

image

Glide.with()不仅可以接受Context,还可以接受Activity和Fragment,Glide会从Activity和Fragment中获取Context,在使用时,尽可能的将Activity或Fragment传递给Glide(好处:图片加载会和Activity/Fragment的生命周期保持一致,比如Paused状态在暂停加载,在Resumed的时候又自动重新加载)

Glide.with(context)  
.load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg")
.into(ivImg); 

默认Bitmap格式是RGB_565

Clide默认使用Bitmap格式是RGB_565加载图片,比ARGB_8888格式的内存开销要小一半,但同时会带来图片显示质量下降,可以通过创建一个新的GlideModule将Bitmap格式转换到ARGB_8888,提升图片质量

磁盘缓存

Glide会为每种大小的ImageView缓存一次。尽管一张图片已经缓存了一次,但是假如你要在另外一个地方再次以不同尺寸显示,需要重新下载,调整成新尺寸的大小,然后将这个尺寸的也缓存起来。具体说来就是:假如在第一个页面有一个200x200的ImageView,在第二个页面有一个100x100的ImageView,这两个ImageView本来是要显示同一张图片,却需要下载两次;可以通过改变Glide的行为让它即加载全尺寸图片,也加载不同尺寸图片

Glide.with(this)  
 .load("http://nuuneoi.com/uploads/source/playstore/cover.jpg")  
 .diskCacheStrategy(DiskCacheStrategy.ALL)  
 .into(ivImgGlide);  

下次在任何ImageView中加载图片的时候,全尺寸的图片将从缓存中取出,重新调整大小,然后缓存。

Clide常用属性

原文链接

http://blog.csdn.net/hshshshshs1/article/details/50786203

上一篇下一篇

猜你喜欢

热点阅读