Android图片选择框架设计

整体框架设计

Android图片选择框架设计_第1张图片
层次设计
Data层

数据结构:
class ImageInfoModel { String imagePath; boolean isSelected; }

获取系统所有图片的路径,并按照上述结构构造基本数据。

根据用户选择的路径获取指定路径下所有的图片数据,并把数据交给适配层

Adapter层

根据控制层提供的数据进行UI展现前的数据处理,图片选中状态的处理及保存,进行图片压缩,控制选中张数,更新发送按键状态及选中图片张数,为图片预览提供数据。

UI层

展现图片及选中状态,展现发送按键发送状态及当前选中张数,展现预览按键状态

关键点

按路径获取图片

ACTION_PICK

图片处理
  • 图片压缩 防止OOM
  • 图片旋转 用户体验
图片预览
  • instanceItem的时候实例化ImageView,destroyItem的时候移除ImageView对象并置为null
  • 不缓存ViewPager的子ImageView,否则可能造成OOM
  • 及时销毁子ImageView,加快系统垃圾回收

你可能感兴趣的:(Android图片选择框架设计)