android系统原理与开发要点详解韩超06_android的gui系统

android系统原理与开发要点详解韩超06_android的gui系统

ID:37537500

大小:513.92 KB

页数:58页

时间:2019-05-24

android系统原理与开发要点详解韩超06_android的gui系统_第1页
android系统原理与开发要点详解韩超06_android的gui系统_第2页
android系统原理与开发要点详解韩超06_android的gui系统_第3页
android系统原理与开发要点详解韩超06_android的gui系统_第4页
android系统原理与开发要点详解韩超06_android的gui系统_第5页
资源描述:

《android系统原理与开发要点详解韩超06_android的gui系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android的GUI系统Android的GUI系统第一部分AndroidGUI系统综述第二部分pixelflinger和libui库第三部分Surface系统第五部分Skia系统第六部分OpenGL系统架构第一部分AndroidGUI系统综述各种GUI元素GLSurfaceViewjavax.microedition.khronos.openglesandroid.view.Viewcom.google.android.gles_jniandroid.view.Surfaceandroid.graphics.

2、CanvasJAVA框架C框架层SurfaceJNIGraphicJNIOpenGLJNISurfaceFlingerSkia图形引擎OpenGL3D引擎libuiOverlayCameraSurfaceKey/EventformatEglWindowslibpixelflingerFrameBufferEvent输入驱动驱动第一部分AndroidGUI系统综述Android的GUI系统由C语言的框架和JAVA语言的框架组成。GUI系统的C语言部分包括:PixelFlingerlibui(框架库)SurfaceFl

3、inger(Surface的管理)Skia图形图像引擎OpenGL3D引擎各种JNI(向JAVA提供接口)第一部分AndroidGUI系统综述GUI系统JAVA语言的核心包括:android.graphics(对应Skia底层库)android.view.Surface(构建显示介面)android.view.View及其继承者(用于构建UI元素)OpenGL的功能类javax.microedition.khronos.opengles(由com.google.android.gles_jni实现)第二部分

4、pixelflinger和libui库2.1pixelflinger2.2libui2.1pixelflingerlibpixelflingner.so是一个下层的工具性的类,这个类对外的主要内容是GGLContext结构,以及初始化和卸载的函数。system/core/include/pixelflinger/system/core/libpixelflinger/ssize_tgglInit(GGLContext**context);ssize_tgglUninit(GGLContext*context);libpi

5、xelflingner.so这个库对其他的库没有依赖,也并不提供实际的功能,类似一个用于管理工具的库。2.2libuilibui是一个框架性质的集成库,它不仅是显示的中枢,也是整个GUI系统的中枢。UIlib(libui→libpixelflinger),这个的相关内容在以下的路径中:frameworks/base/include/ui/framework/base/libs/ui/libui包含了颜色格式,用于实际显示的Egl窗口,按键及事件处理,Suface界面,Overlay,Camera等几个方面的接口。2.2l

6、ibuiformat部分:这个部分本身定义颜色空间的枚举和数据结构,它需要充用pixelflinger中的一些关于数据格式定义。EglWindows部分:包含了EGL头文件构建的egl_native_window_t,它依赖OpenGL的结构,并给libEGL使用的。EGLDisplaySurface操作了硬件的framebuffer的驱动。这也是整个系统显示的基础。Key/Event部分:这是Android系统输入的基础,其中定义按键的映射,通过操作event事件设备来实现获取系统的输入的。2.2libuiSurfac

7、e:Surface相关的头文件和实现为SurfaceFlinger定义接口和框架。Overlay:定义视频输出的接口。Camera:定义摄像头的框架和接口。2.3Android的显示输出系统Android使用标准的framebuffer作为驱动程序,Android的本地框架中提供了系统和framebuffer驱动程序之间的适配层(硬件抽象层)。输出部分的硬件抽象(donut之前):EGLDisplaySurface.cpp调用标准的FrameBuffer驱动。2.3Android的显示输出系统GrallocModule是

8、Eclair版本之后显示部分的抽象层,它是系统和Framebuffer设备的接口,以硬件模块的形式存在。头文件路径:hardware/libhardware/include/hardware/gralloc.hGralloc模块实现:hardware/libhardware/modules/gralloc/Grall

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。