电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

AndroidGDI基本框架

AndroidGDI基本框架_第1页
1/22
AndroidGDI基本框架_第2页
2/22
AndroidGDI基本框架_第3页
3/22
Android GDI 基本框架 在 Android 中所涉及的概念和代码最多,最繁杂的就是 GDI 相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。 GDI 主要管理图形图像的输出,从整体方向上来看,GDI 可以被认为是一个物理屏幕使用的管理器。因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,对所有窗口输出,应用程序不会关心物理屏幕是否被别的窗口占用,而只是关心自己在本窗口的输出,至于输出是否能在屏幕上看见,则需要 GDI 来管理。 从最上层到最底层的数据流的分析可以看到实际上 GDI 在上层为 GUI 提供一个抽象的概念,就好像操作系统中的文件系统所提供文件,目录等抽象概念一样,GDI 输出抽象成了文本,画笔,位图操作等设备无关的操作,让应用程序员只需要面对逻辑的设备上下文进行输出操作,而不要涉及到具体输出设备,以及输出边界的管理。GDI 负责将文本、线条、位图等概念对象映射到具体的物理设备,所以 GDI 的在大体方向上可以分为以下几大要素: 画布 字体 文本输出 绘画对象 位图输出 Android 的 GDI 系统 Android 的 GDI 系统所涉及到概念太多,加之使用了 OpenGL 使得 Android 的层次和代码很繁杂。但是我们对于 Android 的 GDI 系统需要了解的方面不是他的静态的代码关系,而是动态的对象关系,在逻辑运行的架构上理解 GDI。我们首先还是需要从代码结构开始我们的理解。 Frameworks/Libs/Surfaceflinger Frameworks/base/core/jni/android_view_Surface.cpp Frameworks/base/core/java/android/view/surface.java Frameworks/base/Graphics:绘图接口 Frameworks/Libs/Ui External/Skia 其中 Ex ternal/Skia 是一个 C++的 2D 图形引擎库,Android 的 2D 绘制系统都是建立在该基础之上.Skia 完成了:文本输出,位图,点,线,图像解码等功能。 我在这里给出 Android GDI 的基本框架示意图。 对于上面的 GDI 架构图我们只是一个大概的了解,我们有太多的问题需要解决,有太多的疑问需要得到答案,我就一直在想,为什么设计者有提出如此众多的概念,这个概念的背景是什么?他要管理什么,他要抽象什么?从前面知道,Android 的整个设计理念就是无边界化,他是如何穿透 Linu x 进程这个鸿沟来达到无边界的?Su rface,Canv as, Lay er,Lay erBase, Nativ eBu ffer...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

AndroidGDI基本框架

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部