本文将追随鸿阳大神仿微信图片加载的案例,记录学习的过程。
效果图参考微信
加载图片应满足一下三个目标
- 避免OOM
- 用户操作UI尽可能的流畅
- 选择适当的图片加载策略
避免OOM
A.根据图片的显示大小压缩图片
B.使用缓存 LruCache
UI操作流畅:
A.在获取图片的过程中避免耗时操作,主要通过异步加载+回调显示完成。
图片加载策略:
LIFO FIFO
解释: 第一种是one by one ,按顺序一张一张的加载,即我们说说的先进先出 FIFO,这种方式虽然也可以通过监听屏幕的高度内所有图片的数量来实现优先加载当前屏幕内的图片
第二种 是拖动到哪里,哪里的图片优先显示,即我们说的后进先出LIFO。