UI系统的底层功能一般包括:
1)图形显示
2)鼠标,键盘事件处理
3)窗口管理
android
2D图形库采用SKIA,简称SGL(skia graphics library)
3D图形库采用了OPENGL ES.
2D图形库上层类库包括:
android.graphics
android.view
android.widget
3D图形库上层类库包括:
android.opengl
android的底层图形接口为EGL,直接访问FrameBuffer.
android没有采用X Server,但是其采用的也是Client/Server结构,Server就是SurfaceFlinger.其主要由C++代码编写而成。
客户端既包括JAVA库,也包括C++写的底层库。
android图形系统应用接口的基本处理对象和重要线索和概念是Surface.
View及其子类(TextView,Button)都要画在Surface上。
每个surface创建一个Canvas对象(但属性时常改变),用来管理view在surface上的绘图操作,如画点画线。每個canvas对象对应一个bitmap,存储画在surface上的內容。每个Surface通常对应两个buffer,一个front buffer, 一个back buffer。 其中,back buffer就是canvas绘图时对应的bitmap。