高效加载Bitmap
采用BitmapFactory.Option来加载合适尺寸图片,按照一定的采样率加载缩小后的图片
Android缓存策略
- 添加:第一次从网络加载后,缓存到磁盘和内存
- 获取:先检查内存中是否有,若没有然后检查磁盘,若没有请求网络
- 删除:LRU策略,缓存满后淘汰近期最少用的缓存对象。内部采用LinkedHashMap以强引用的方式存储外界缓存对象。
图片加载器
- 同步加载:先检查是否在主线程,在主线程才创建新线程加载
- 异步加载:通过线程池调用加载,得到结果后还需向主线程发送消息
- 图片压缩
- 缓存(内存,磁盘)
- 网络拉取
优化列表卡顿
- 采用ViewHolder
- 异步加载图片,不在getView执行耗时操作
- 控制异步任务执行频率,列表滑动停止再加载
- 开启硬件加速