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 系统原理及开发要点详解 韩超 粱泉著),请注意版权声明!

更多相关文章

  1. [入门八]Android的应用程序框架
  2. Android中Parcelable接口的使用
  3. Android类库介绍
  4. Android(安卓)WiFi 架构总览(模块及接口)
  5. Android(安卓)开源框架的收集
  6. [置顶] 调用Android发短信接口Intent.ACTION_SENDTO
  7. Android(安卓)Interface Definition Language (AIDL)
  8. Android中的Parcelable接口
  9. Android中的MVC

随机推荐

  1. 第六章(3) Android中的Drawable
  2. Android(安卓)混淆代码问题总结
  3. Android(安卓)Studio调试native或者servi
  4. 如何设置Activity全屏 设置Activity非全
  5. Android对system_server中binder的ioctl
  6. android恶意程序分析 (一)
  7. android实现swipe的手势及页面拖动动画
  8. android屏幕分辨率
  9. Android内存分析总结
  10. android保存手势操作到文件&读取识别手势