1th Chapter The Surfaceflinger of GUI system
Before entering the GUI system, we recommend that you read the "Opengles" section in the application of this book and see the official OpenGL ES Guide. Because the Android GUI system is based on OPENGL/EGL to achieve, if there is no basis for the analysis of the source code may be "less effort."
1.1 Opengles and EGL
Surfaceflinger is the core of the GUI, but in terms of OpenGL ES, it is actually just an "application".
For those who have not done opengles development, understand this part of the content is still a certain difficulty, especially easy to the system both egl/opengles, there are Surfaceflinger, Graphicplane, Displayhardware, A series of unfamiliar modules, such as Gralloc and Framebuffernativewindow, are confusing and disorderly.
Indeed, it would be a big hurdle for us to delve into the entire Android display system without first clearing up the interrelationships between these modules. In view of this, let us first look at the framework of the height of their seemingly intricate, shearing and disorderly dependence.
Figure 1 Surfaceflinger and Opengles module relationships