聊一聊关于Glide在面试中的那些事

1.前言

今天填完离职表,帮着公司面试几个帮着填坑的同行,聊着聊着就聊到了Glide,信誓旦旦的和我说,这块很熟悉,之前在掘金社区里,看过一个叫蓝师傅写的这块的文章,基本细节都掌握😏。(一副胜利在望的表情,好吧,正巧我也看过,咱们就问一问看的仔细情况)


2. 来简单介绍下Glide的缓存

2.1 分析

(这货滔滔不绝的说了一大通,从LruCache说到了LinkedHashMap,巴拉巴拉。。。个人建议这块一定要简述,面试时原理说的太多,第一很多细节会被打断问到,第二点,说这么多,给人的感觉就是在背诵东西,原理概括能力很弱或者感觉根本就没有自己的体会。)

2.2 答案

Glide的缓存机制,主要分为2种缓存,一种是内存缓存,一种是磁盘缓存。
之所以使用内存缓存的原因是:防止应用重复将图片读入到内存,造成内存资源浪费。
之所以使用磁盘缓存的原因是:防止应用重复的从网络或者其他地方下载和读取数据。
正式因为有着这两种缓存的结合,才构成了Glide极佳的缓存效果。

(先告诉人家有哪几种缓存,主要是为了什么目的才用的缓存,然后可以看着面试官,要么等着他继续问,如果他不问,等着你,这个时候你就可以继续的往细节处介绍)


3. 嗯,具体说一说Glide的三级缓存原理

3.1 分析

(记得,如果需要具体谈原理时,要先宏观,后细节)

3.2 答案

读取一张图片的时候,获取顺序:
Lru算法缓存-》弱引用缓存-》磁盘缓存(如果设置了的话)

当我们的APP中想要加载某张图片时,先去LruCache中寻找图片,如果LruCache中有,则直接取出来使用,并将该图片放入WeakReference中,如果LruCache中没有,则去WeakReference中寻找,如果WeakReference中有,则从WeakReference中取出图片使用,如果WeakRe

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值