Android Bitmap和Drawable的对比

Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。
Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。
A bitmap is a Drawable. A Drawable is not necessarily a bitmap. Like all thumbs are fingers but not all fingers are thumbs.
Bitmap是Drawable . Drawable不一定是Bitmap .就像拇指是指头,但不是所有的指头都是拇指一样.
The API dictates: API规定:
Though usually not visible to the application, Drawables may take a variety of forms: 尽管通常情况下对于应用是不可见的,Drawables 可以采取很多形式: Bitmap: the simplest Drawable, a PNG or JPEG image. Bitmap: 简单化的Drawable, PNG 或JPEG图像. Nine Patch: an extension to the PNG format allows it to specify information about how to stretch it and place things inside of it. Shape: contains simple drawing commands instead of a raw bitmap, allowing it to resize better in some cases. Layers: a compound drawable, which draws multiple underlying drawables on top of each other. States: a compound drawable that selects one of a set of drawables based on its state. Levels: a compound drawable that selects one of a set of drawables based on its level. Scale: a compound drawable with a single child drawable, whose overall size is modified based on the current level.
| 对比项 | 显示清晰度 | 支持透明色 | 支持色相色差调整 | 支持像素操作 |
|---|---|---|---|---|
| Bitmap | 相同 | 是 | 是 | 是 |
| Drawable | 相同 | 是 | 否 | 否 |
Drawable在内存占用和绘制速度这两个非常关键的点上胜过Bitmap
- Drawable和Bitmap之间可以互相转换,Drawable占用内存远小于Bitmap。
- setImageDrawable使用资源文件;setImageBitmap使用bitmap图片,该图片可能是读取本地相册,或者从资源文件转换而来。
- setImageResource()和setImageBitmap()
//setImageResource() public void setImageResource (int resId)//占用UI thread; // setImageBitmap() ImageView iv; String fileName = "/data/data/com.test/aa.png"; Bitmap bm = BitmapFactory.decodeFile(fileName); iv.setImageBitmap(bm); //占用内存 // setImageBitmap() Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); imageView.setImageBitmap(image); // Bitmap转换成Drawable Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); BitmapDrawable bitmapDrawable = new BitmapDrawable(image); imageView.setImageDrawable(bitmapDrawable); // 结论:Bitmap是Drawable . Drawable不一定是Bitmap
小结
Bitmap: 简单化的Drawable, PNG 或JPEG图像.
Drawable在内存占用和绘制速度这两个非常关键的点上胜过Bitmap
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# android
# Bitmap和Drawable的区别
# Bitmap和Drawable
# Android中一种巧妙的drawable.xml替代方案分享
# Android RippleDrawable 水波纹/涟漪效果的实现
# Android自定义Drawable之在Drawable中部指定透明区域方法示例
# 浅谈Android中Drawable使用知识总结
# Android开发基于Drawable实现圆角矩形的方法
# Android自定义Drawable实现圆角效果
# Android Drawable和Bitmap的转换实例详解
# Android DrawableTextView图片文字居中显示实例
# Android Drawable必备知识小结
# Android drawable微技巧
# 你不知道的drawable细节
# 这两个
# 点上
# 都是
# 也有
# 就像
# 而来
# 也很
# 希望能
# 比较好
# 它可以
# 谢谢大家
# 转换成
# 情况下
# 文件转换
# 效率高
# forms
# allowing
# resize
# simplest
# variety
相关文章:
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何选择建站程序?包含哪些必备功能与类型?
建站之星安装路径如何正确选择及配置?
企业微网站怎么做,公司网站和公众号有什么区别?
,柠檬视频怎样兑换vip?
网站设计制作企业有哪些,抖音官网主页怎么设置?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
高端网站建设与定制开发一站式解决方案 中企动力
如何快速搭建FTP站点实现文件共享?
建站之星如何修改网站生成路径?
如何在七牛云存储上搭建网站并设置自定义域名?
Android自定义listview布局实现上拉加载下拉刷新功能
建站之星logo尺寸如何设置最合适?
宿州网站制作公司兴策,安徽省低保查询网站?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
代购小票制作网站有哪些,购物小票的简要说明?
深入理解Android中的xmlns:tools属性
如何用wdcp快速搭建高效网站?
公司门户网站制作流程,华为官网怎么做?
建站VPS能否同时实现高效与安全翻墙?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在建站之星绑定自定义域名?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
在线制作视频网站免费,都有哪些好的动漫网站?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
,在苏州找工作,上哪个网站比较好?
做企业网站制作流程,企业网站制作基本流程有哪些?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
建站之星在线版空间:自助建站+智能模板一键生成方案
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
网站制作员失业,怎样查看自己网站的注册者?
Bpmn 2.0的XML文件怎么画流程图
网站设计制作公司地址,网站建设比较好的公司都有哪些?
宁波自助建站系统如何快速打造专业企业网站?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何设置并定期更换建站之星安全管理员密码?
文字头像制作网站推荐软件,醒图能自动配文字吗?
活动邀请函制作网站有哪些,活动邀请函文案?
如何快速查询网站的真实建站时间?
网站制作免费,什么网站能看正片电影?
制作旅游网站html,怎样注册旅游网站?
c# await 一个已经完成的Task会发生什么
如何在橙子建站中快速调整背景颜色?
网站制作报价单模板图片,小松挖机官方网站报价?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
威客平台建站流程解析:高效搭建教程与设计优化方案
如何通过WDCP绑定主域名及创建子域名站点?
建站上市公司网站建设方案与SEO优化服务定制指南
宝塔建站无法访问?如何排查配置与端口问题?
*请认真填写需求信息,我们会在24小时内与您取得联系。