Android 的GUI 系统

Android 的GUI系统由C语言框架和JAVA 语言框架组成的。

       如图:

1. Android 的GUI系统的C语言框架包括:

       1)PixelFlinger (下层的工具库) 该库提供像素级别的基本处理,如像素格式定义、画点、线、多边形、纹理颜色填充以及多层处理等操作接口,PixelFlinger 的头文件 和 源代码分别在 system/core/include/pixelflinger/  、 system/core/libpixelflinger/

       2)libui (GUI的框架库)它不仅是显示中枢而且是Android GUI 系统的中枢。改库提供了包括颜色格式,Egl窗口(用于显示)、按键及事件处理、Surface(显示界面)、Overlay(显示叠加层接口)、Camera(照相机接口)等多方面的定义。libui的头文件和源代码分别在 frameworks/base/include/ui/ 、 frameworks/base/libs/ui/;

       3)SurfaceFlinger (主要对Surface 建立、控制、管理等功能)源代码目录:frameworks/base/libs/surfaceflinger/;

       4)Skia 图形图像引擎, 该库是android 的2D系统的底层实现(图形,图像,动画,svg,文本等多方面的图形库,相当于android中图形系统的引擎),通过JNI 向java层提供图形功能接口,并且结合Surface 实现各种UI元素的功能;

       5)OpenGL 3D 引擎。android 系统使用OPenGL的标准接口来支持3D图形功能,其主要内容在frameworks/base/opengl/ 中,其中本地代码的头文件路径为:frameworks/base/opengl/include/EGL/ 、 frameworks/base/opengl/include/GLES/ ,源代码在:frameworks/base/opengl/libagl/ 、 frameworks/base/opengl/libs/  ;

       6)各种JNI (向Java层次提供接口)。

       2. Andorid 的GUI系统的JAVA框架层主要包括:

       1)android.graphics 类 (对应Skia 底层库,提供绘图接口);

       2)android.view.Surface (构建显示界面);

       3)android.view.View (各种UI元素的基类);

       4)javax.microedition.khronos.opengles (标准的OpenGL接口);

       5)android.opengl (Android 系统和OpenGL的联系层);

 参考(Android 系统原理及开发要点详解 韩超 粱泉著),请注意版权声明!

猜你喜欢

转载自blog.csdn.net/skywoodsky/article/details/6105658
GUI