西安论坛网站制作维护,你在四川省建设安全与质量监督网站,河南网站推广优化报价,有网站怎么开发app图形显示系统作为Android系统核心的子系统#xff0c;掌握它对于理解Android系统很有帮助#xff0c;下面从整体上简单介绍图形显示系统的架构#xff0c;如下图所示。 这个框架只包含了用户空间的图形组件#xff0c;不涉及底层的显示驱动。框架主要包括以下4个图形组件。…图形显示系统作为Android系统核心的子系统掌握它对于理解Android系统很有帮助下面从整体上简单介绍图形显示系统的架构如下图所示。 这个框架只包含了用户空间的图形组件不涉及底层的显示驱动。框架主要包括以下4个图形组件。
1、图形流生产者
图形流生产者一般指的是各个应用应用通过不同的方式生产出要显示的图形流。可以通过Skia、OpenGL ES等图形库绘制得到也可以通过Camera拍摄得到还可以通过Media Player解码得到。
图形流使用缓冲数据表示图形流生产者通过Surface可以把缓冲数据直接传递到图形流消费者。
2、窗口位置管理
窗口位置管理由WindowManagerServiceWMS完成。现代操作系统一般是多任务的系统支持多个应用同时运行。当每个应用都需要显示界面时如果没有窗口位置管理就无法知道该显示哪个应用的界面。
窗口位置管理维护所有窗口的位置信息包括窗口在屏幕中的位置、宽高、前后顺序、显示状态这些信息称为窗口元数据(window metadata)。每当一个窗口的元数据发生了变化会通知图形流消费者。
3、图形流消费者
图形流消费者负责处理图形缓冲由SurfaceFlinger完成。对于图形显示而言消费过程是将各个应用生产的图形数据进行汇总根据窗口管理提供的窗口元数据将多个图形数据合成到帧缓冲frame buffer的过程。
帧缓冲保存的内容正是即将在屏幕中显示的图形数据它通过硬件抽象层传递到显示屏幕。
4、硬件抽象层
硬件抽象层负责与底层驱动交互。硬件抽象层封装了与底层驱动交互的细节对外提供简单的接口有了硬件抽象层图形消费者只需调用相关的接口即可与底层驱动进行交互无须关心具体的交互细节。
在硬件抽象层有两个与图形显示系统相关的组件分别是Gralloc和Hardware Composer前者负责图形缓冲的分配后者负责将图形缓冲的内容传递到底层驱动显示。 参考:
李先儒《Android图形显示系统》清华大学出版社。