Glide的与其他图片加载库的优势

最近的准备面试的我,不得不准备一下。老是怕面试官问到你们用的什么图片加框架,看了不少大神的博客,也对这方面饿补了一下。到时候也能在面试官面前装一装。开车了…..

首先你跟人家说的时候,肯定要拿来一个另一库做对比是不。然后我们今天拿来的库就是picasso。

1.Glide

● 它采用了android原生的HttpURLConnection网络库
● 支持加载动态图
● Glide缓存又将它分成了两个模块,一个是内存缓存,一个是硬盘缓存。
● 这两个缓存模块的作用各不相同,内存缓存的主要作用是防止应用重复将 图片数据读取到内存

                                  硬盘缓存

硬盘缓存的实现也是使用的LruCache算法
当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。
调用decodeFromCache()方法从硬盘缓存当中读取图片,一种是调用decodeFromSource()来读取原始图片。默认情况下Glide会优先从缓存当中读取,只有缓存中不存在要读取的图片时,才会去读取原始图片。
调用diskCacheStrategy()方法并传入DiskCacheStrategy.NONE,就可以禁用掉Glide的硬盘缓存功能了。
● DiskCacheStrategy.NONE: 表示不缓存任何内容。
● DiskCacheStrategy.SOURCE: 表示只缓存原始图片。
● DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。
● DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。

                                  内存缓存

1. Engine类的load()方法当中fetcher.getId()方法获得了一个id字符串,这个字符串也就是我们要加载的图片的唯一标识
2. Glide内存缓存的实现也是使用的LruCache算法。
3. loadFromCache()和loadFromActiveResources()。这两个方法中一个使用的就是LruCache算法,另一个使用的就是弱引用。
4. skipMemoryCache设置来是否需要内存缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值