Glide的一些理解
2018-08-19 本文已影响15人
上官瑞杰
最近看了一遍网上glide的源码分析,感觉有些消化不完,简单记录一下新get到的姿势吧
1.lide是一套很强大的图片加载框架,使用起来非常的简单只需要一代码:Glide.with(this).load(url).into(imageView);就可以实现图片的加载与缓存。
2.glide不需要考虑图片的回收是因为在他会对with()中传入的context进行检查,如果是Application那么就将生命周期与APP相同,如果是其它如activity或Fragment的话他就添加一个隐藏的fragment来共享生命周期。
3.缓存是采用了二级缓存(内存缓存与硬盘缓存)两种方式,先根据图片生成一个key(网络图片基本就是根据URL来生成),再将其缓存至内存与硬盘(LruCache)
在开发中遇到同一张图片URL却不同怎么办?修改glideUrl类去重写Key的生成规则。