缓存类型
Glide的缓存类型分为两大类,一类是Resource缓存,一类是Bitmap缓存。
为什么需要缓存图片Resource,很好理解,因为图片从网络加载,将图片缓存到本地,当需要再次使用时,直接从缓存中取出而无需再次请求网络。
Glide在缓存Resource使用三层缓存,包括:
一级缓存:缓存被回收的资源,使用LRU算法(Least Frequently Used,最近最少使用算法)。当需要再次使用到被回收的资源,直接从内存返回。
二级缓存:使用弱引用缓存正在使用的资源。当系统执行gc操作时,会回收没有强引用的资源。使用弱引用缓存资源,既可以缓存正在使用的强引用资源,也不阻碍系统需要回收无引用资源。
三级缓存:磁盘缓存。网络图片下载成功后将以文件的形式缓存到磁盘中。
Bitmap所占的内存大小由三部分组成:图片的宽度分辨率、高度分辨率和Bitmap质量参数。公式是:Bitmap内存大小 = (宽pix长pix)质量参数所占的位数。单位是字节B。
质量参数决定每一个像素点用多少位(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)
网友评论