安卓图片选择库对比并完善(哔哩哔哩boxing,知乎Matisse, imagePicker)

B:哔哩哔哩 boxing https://github.com/Bilibili/boxing


          图片加载:支持Picasso、glide、fresco

          基础功能:单选、多选、纯图片展示、单选裁剪、视频单选、拍照(仅多选模式)、多图预览

          裁剪功能:支持多种比例长方形裁剪、可旋转裁剪

M:知乎 Matisse https://github.com/zhihu/Matisse     


           图片加载:支持Picasso、glide

           基础功能:单选、多选、视频图片展示、视频(可与图片混选)、拍照(拍照后不保存)、多图预览、视频播放

           裁剪功能:无 

I:仿微信、Gallery ImagePicker 


https://github.com/jeasonlzy/ImagePicker

          图片加载:支持Picasso、glide、fresco、uil、xutils

          基础功能:单选、多选、图片展示、拍照、多图预览

          裁剪功能:任意比例长方形、圆形

内存消耗:测试1148张图片,均使用Glide加载模式下比较

B 内存峰值 129M  后续一直在80M左右,快速滑动内存暴增 GC后维持在95M左右

M 内存峰值 82M 后续一直在69M左右,GC后维持在68M

I 内存峰值 80M  后续一直在65M左右,  GC后维持在64M


改写图片选择图 https://github.com/NFLeo/Matisse.git


图片加载:只支持Glide加载,采用策略模式加载,可扩展成Picasso,Fresco

基础功能:单选、多选、视频图片展示、视频(可与图片混选)、拍照(拍照后不保存)、多图预览、视频播放、单选裁剪、记录图片选中顺序

裁剪功能:任意比例长方形、圆形

图片压缩:图片回调成功后压缩,一般可压缩到  1/10  具体看文件


针对 原项目Matisse 添加以下功能,基本可确保平常使用:

1.单选默认裁剪  (支持圆形裁剪 方形裁剪 可调整裁剪框大小)

2.图片压缩,加大图片压缩比,图片基本无失真, 原文件越大压缩比例越高


Matisse Kotlin版本

最后 感谢:

裁剪提供者:廖子尧  github地址:https://github.com/jeasonlzy  也是上述I型图片选择的作者

图片压缩提供者:https://github.com/nanchen2251

你可能感兴趣的:(安卓图片选择库对比并完善(哔哩哔哩boxing,知乎Matisse, imagePicker))