Glide相关

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,尺寸压缩方式(减少图片大小)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。