首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口。

Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。

Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。

Canvas - 名为画布,我们可以看作是一种处理过程,使用各种方法来管理Bitmap、GL或者Path路径,同时它可以配合Matrix矩阵类给图像做旋转、缩放等操作,同时Canvas类还提供了裁剪、选取等操作。

Paint - 我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工具的字体、颜色、样式。

如果涉及一些Android游戏开发、显示特效可以通过这些底层图形类来高效实现自己的应用。

安卓开发应该知道的Drawable、Bitmap、Canvas和Paint的关系相关推荐

  1. 《安卓开发必知的50个技巧》读书笔记

    记录一下看<安卓开发必知的50个技巧>认为实用的一下技巧. include标签使用注意事项 假设想在标签中覆盖被包括布局所指定的不论什么android:layout_*属性,必须在标签中同 ...

  2. vue Mutation 必须是同步函数 为什么_Vue 开发必须知道的 36 个技巧「近1W字」

    Vue 开发必须知道的 36 个技巧 说明:本文并非原创,来源于segmentfault,搜索文章标题可查看原文 前言 Vue 3.x 的Pre-Alpha 版本.后面应该还会有 Alpha.Beta ...

  3. 2020-02-14 转载 开发应该知道的Linux系统分析-网络篇

    开发应该知道的Linux系统分析-网络篇 原文地址:https://cloud.tencent.com/developer/article/1583803 常用网络工具有: 通过ping命令检测网络的 ...

  4. Vue 开发必须知道的 36 个技巧【近1W字】

    前言 Vue 3.x 的Pre-Alpha 版本.后面应该还会有 Alpha.Beta 等版本,预计至少要等到 2020 年第一季度才有可能发布 3.0 正式版; 所以应该趁还没出来加紧打好 Vue2 ...

  5. Netty精粹之JAVA NIO开发需要知道的

    学习Netty框架以及相关源码也有一小段时间了,恰逢今天除夕,写篇文章总结一下.Netty是个高效的JAVA NIO框架,总体框架基于异步非阻塞的设计,基于网络IO事件驱动,主要贡献在于可以让用户基于 ...

  6. JAVA NIO开发需要知道的Netty精粹

    Netty是个高效的JAVA NIO框架,总体框架基于异步非阻塞的设计,基于网络IO事件驱动,主要贡献在于可以让用户基于Netty提供的API快速开发高性能.高可靠性的网络应用.这篇文章主要是介绍Ne ...

  7. 一张图带你看懂 ,web前端开发应该知道的HTML5六大趋势

    目前最具人气的前端开发技术框架是什么?移动至上时代的来临促使越来越多的开发者利用HTML5开发移动友好型网站.HTML5的主要优势一直在不断演进,旨在提供足以与原生技术相匹配的功能. 从雷军这样的互联 ...

  8. Vue 开发必须知道的 36 个技巧

    作者 | 火狼1 链接 | https://juejin.im/post/5d9d386fe51d45784d3f8637 前言 Vue 3.x 的Pre-Alpha 版本.后面应该还会有 Alpha ...

  9. java泛型方法无参_从头再来:Java泛型(开发必须知道的)

    Java泛型 老规矩,测试一下,下面的程序能否正常运行?为什么? 开头测试题 泛型就是实现了参数化类型,也就是代码可以适用于多种类型.泛型是在编译期检查的,在编译期检查类型是否安全.我认为泛型最有用的 ...

最新文章

  1. 图灵2月书讯:书籍,不可分离的生命伴侣
  2. matlab虚拟力,31无线传感网络布局优化的虚拟力导向粒子群算法MATLAB源代码
  3. python精要(79)-模块与包组织(2)-相对导入
  4. runlevel的修改方法
  5. python | 删除两个指定字符串之间的内容
  6. P3203-[HNOI2010]弹飞绵羊【分块】
  7. zookeeper+kafka+logstash+elasticsearc+kibana
  8. 论文二作对硕博研究生有用吗?
  9. Java环境搭建一个小型网页
  10. C语言字符型数据scanf,scanf()函数如何输入字符型数据?
  11. 最少操作次数(英雄会)
  12. 输入密码三次,简单程序
  13. 史上最全的Linux命令汇总(全网最全)
  14. Java10进制转16进制,16进制转10进制
  15. 怎么安装linux操作系统
  16. 微信小程序中进行公共数据的存储使用
  17. 深度学习——神经网络的种类(前馈神经网络,反馈神经网络,图网络)
  18. java计算机毕业设计洁能租车源码+mysql数据库+系统+lw文档+部署
  19. 小程序报错errMsg:hideLoading:fail:toast can't be found和hideToast:fail:toast can't be found?解决方案
  20. 七牛云对象存储设置自己的域名访问(阿里云的域名)

热门文章

  1. 缓存装饰器的应用习题练习
  2. 《实施Cisco统一通信管理器(CIPT1)》一2.2 CUCM:单站点部署模型
  3. 增强SEO的div+css命名规则
  4. IE发现新的零日攻击漏洞 用户可采取缓解措施
  5. batch批处理(转载)
  6. java统计空格代码_java算法大全之统计出其中英文字母、空格、数字和其它字符的个数...
  7. 魔法方法——Python
  8. PTA: 6-6 链表拼接(20分)
  9. 机器学习(周志华)——决策树问题
  10. 大数据分析需掌握哪些方面