使用 MediaStore.Images.Media.getBitmap从Uri中获得bitmap以及其缺陷
2015-10-19 16:16
330 查看
MediaStore.Images.Media.getBitmap(ContentResolver cr,Uri url)方法可以从一个已知的图片Uri中获得图片的bitmap对象,其中ContentResolver通常可以通过在Activity中调用的getContentResolver()方法中获取。Uri地址就是类似 content://media/external/images/media/2 的地址,也就是Content Provider定义的地址形式。但是这种获取bitmap的方式在图片较大的时候并不可取。为什么呢?
从getBitmap的参数可以看出,我们没有传递所要得到的bitmap大小信息,那么getBitmap的返回的bitmap究竟有多大我们就无从知晓,完全取决于getBitmap本身,最乐观的结果是getBitmap能智能的判断我们的需求,返回一个合适的bitmap,但是可能性很小。到底getBitmap中做了什么还是直接去看他的实现源码吧:
android.provider.MediaStore中找到Images.Media的
呵呵,以为是一个很复杂的方法,其实它很简单很粗暴,返回的是原始大小的bitmap。
MediaStore.Images.Media自身的
取名叫getThumbnail,他能返回一个指定大小的bitmap:
其中参数size可以认为是宽和高的最大值。
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0826/1665.html
从getBitmap的参数可以看出,我们没有传递所要得到的bitmap大小信息,那么getBitmap的返回的bitmap究竟有多大我们就无从知晓,完全取决于getBitmap本身,最乐观的结果是getBitmap能智能的判断我们的需求,返回一个合适的bitmap,但是可能性很小。到底getBitmap中做了什么还是直接去看他的实现源码吧:
android.provider.MediaStore中找到Images.Media的
getBitmap方法:
MediaStore.Images.Media自身的
getBitmap不是很可靠。那我们来自定义一个getBitmap吧:
取名叫getThumbnail,他能返回一个指定大小的bitmap:
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0826/1665.html
相关文章推荐
- crontab中使用mysql问题
- 相对路径和绝对路径
- php比较加赋值语句
- 2015-10-19 【项目3 - 负数把正数赶出队列】
- 第8周项目1 - 建立顺序串的算法库
- HTML5 canvas基础---简单的圆形进度条
- Android如何使用命令行查看数据库SQLite3
- 【bzoj1036】[ZJOI2008]树的统计Count 树链剖分+线段树
- Object.create()兼容实现方法
- 用FileInputStream读文件,字节数组接收,不知道文件的大小时怎么办
- 深入分析Java线程中断机制
- 蓝牙(1)淘汰的框架
- mac下Spyder 错误:ValueError: unknown locale: UTF-8解决方法
- IDA动态调试Android的DEX文件
- Android开发总结笔记 四大组件之BroadcastReceiver 1-2-7
- django 使用记录 mac
- android蛋疼的OOM
- android 串口调试
- Lua基础记录,附一个在线测试网址
- Oracle常用的数据类型