Glide相关

2020-06-08  本文已影响0人  多一点童真

RequestManager管理当前Context下所有的图片加载request, RequestManager通过创建无View的Fragment管理request的生命周期。

1、Glide的图片的加载通过com.bumptech.glide.load.engine.Engine.java的load()方法,首先从MemoryCache中开始查找,

  MemoryCache的实现是LinkHashMap,LinkHashMap根据访问顺序排序,如果有缓存则删除,并组成新的缓存对象放入activeResources,

  放入activeResources中标记加1, 大于0表明该缓存有被使用,等于0则表示没有被引用。

  activeResources是 Map>>弱引用实现,然后通过activeResources查找缓存。

2、图片的释放,删除activeResources中的缓存图片,并存入MemoryCache中。

3、硬盘缓存,首次网络加载图片首先会从硬盘查找,如果过有则返回,没有则重新网络加载并缓存到硬盘。

4、压缩方式:采样(减少一些像素点),质量0-100,尺寸压缩方式(减少图片大小)

上一篇下一篇

猜你喜欢

热点阅读