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

如图:

Android 的GUI 系统

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调用系统分享,资源未找到问题
  5. android系统权限关机重启
  6. Android模拟、实现、触发系统按键事件的方法
  7. android 日期时间格式转换;软键盘显示消失;获取系统title
  8. Android WiFi 架构总览(模块及接口)
  9. Android 开源框架的收集

随机推荐

  1. 在Android(安卓)studio中调用python代码
  2. android通过自定义schame和host来启动app
  3. Android开发杂项总结
  4. 教你如何去掉滑动控件的阴影
  5. android 项目 R.java文件丢失?
  6. Android动画详解(属性动画、视图动画和帧
  7. Android(安卓)5.0+ 系统 WebView 可见性
  8. ionic3学习之Android返回键的处理
  9. android中string.xml中%1$s、%1$d等的用
  10. Android(安卓)窗口添加机制系列1-Activit