图片框架设计
图片框架设计
图片框架设计
自己设计一个图片框架?
图片加载的轮子有很多了,Universal-Image-Loader, Picasso, Glide, Fresco 等
1、参数
配置需要用到的一些配置信息 (缓存路径、缓存策略、),一般可能通过 Builder 构建者模式来配置参数
2、缓存设计
三级缓存
- 内存缓存,可用 LruCache 来配置
- 弱引用缓存
- 磁盘缓存
3、解码
从图片源解码成 bitmap
- 图片压缩
- 图片变换(圆形剪裁,圆角,滤镜)
4、线程调度
图片获取和解码都是耗时的操作,需放在异步执行;
5、其他功能
- 和 Activity/Fragment 实现生命周期联动,配置 Jetpack Lifecycle
本文由作者按照 CC BY 4.0 进行授权