Linux桌面发行版与Andoid GUI系统组件对比
GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
在移动互联网萌芽时期,国内外各大手机与软件厂商都纷纷开始智能手机操作系统的研发(那些年,逝去的移动平台),其中使用最多的方案是基于Linux。然而真正成功的只有Android系统,Android成功的关键就在于其独特的、针对嵌入式设备进行深入优化的GUI系统,而那些失败的操作系统GUI很多都是沿用Linux桌面发行版的方案。
组件
|
桌面发行版
|
Android
|
桌面环境
|
GNOME、KDE、Unity..
|
SystemUI.apk Laucher.apk ?
|
图形工具包
|
GTK+、QT、SDL...
|
android.view、android.widget
|
3D图形库
|
OpenGL
|
OpenGL ES
|
2D图形库
|
Cairo
|
Skia |
窗口管理器
|
Compiz...
|
WindowMangerService |
显示服务器Client Lib
|
libX11
|
libgui |
显示服务器
|
X Server
|
SurfaceFlinger
|
高级进程间通信机制
|
D-Bus
|
Binder
|
显示设备驱动
|
framebuffer
|
framebuffer
|
GUI系统结构