glide 缓存

缓存类型

Glide的缓存类型分为两大类,一类是Resource缓存,一类是Bitmap缓存。

Resource缓存

为什么需要缓存图片Resource,很好理解,因为图片从网络加载,将图片缓存到本地,当需要再次使用时,直接从缓存中取出而无需再次请求网络。

三层缓存

Glide在缓存Resource使用三层缓存,包括:

一级缓存:缓存被回收的资源,使用LRU算法(Least Frequently Used,最近最少使用算法)。当需要再次使用到被回收的资源,直接从内存返回。

二级缓存:使用弱引用缓存正在使用的资源。当系统执行gc操作时,会回收没有强引用的资源。使用弱引用缓存资源,既可以缓存正在使用的强引用资源,也不阻碍系统需要回收无引用资源。

三级缓存:磁盘缓存。网络图片下载成功后将以文件的形式缓存到磁盘中。

Bitmap缓存

Bitmap所占内存大小

Bitmap所占的内存大小由三部分组成:图片的宽度分辨率、高度分辨率和Bitmap质量参数。公式是:Bitmap内存大小 = (宽pix长pix)质量参数所占的位数。单位是字节B。

Bitmap压缩质量参数

质量参数决定每一个像素点用多少位(bit)来显示:

ALPHA_8就是Alpha由8位组成(1B)

ARGB_4444就是由4个4位组成即16位(2B)

ARGB_8888就是由4个8位组成即32位(4B)

RGB_565就是R为5位,G为6位,B为5位共16位(2B)

你可能感兴趣的:(glide 缓存)