文章

图片框架设计

图片框架设计

图片框架设计

自己设计一个图片框架?

图片加载的轮子有很多了,Universal-Image-Loader, Picasso, Glide, Fresco 等

1、参数

配置需要用到的一些配置信息 (缓存路径、缓存策略、),一般可能通过 Builder 构建者模式来配置参数

2、缓存设计

三级缓存

  1. 内存缓存,可用 LruCache 来配置
  2. 弱引用缓存
  3. 磁盘缓存

3、解码

从图片源解码成 bitmap

  1. 图片压缩
  2. 图片变换(圆形剪裁,圆角,滤镜)

4、线程调度

图片获取和解码都是耗时的操作,需放在异步执行;

5、其他功能

  1. 和 Activity/Fragment 实现生命周期联动,配置 Jetpack Lifecycle
本文由作者按照 CC BY 4.0 进行授权