- Application activity
- Application Service
- Application UI System
- Application SDK Tool
- Jvm
1 activity
The first JVM instance = zygote
App_main
->androidruntime (now start JVM instance,and start to load Zyogteinit class and execute Main method)
->zygoteinit (Register Socket,preloadclass and resource preload)
->start System Server
Wait for sockets connection and do something ...
Systemserver
->init All system service
Zygote accept request from Activitymanager,and Fork A new Process,and execute activitythread in new process.
Activitymanagerservice->
2 Service3 UI Systemactivity UI
-Every window The top view is decor View,phonewindow have viewroot and Windowsmanager which WindowManager stands for W Indowmanagerservice
View Root incldues Iwindow and a surface, while Iwindow receive callback from Wms,and surface point to the buffer CR Eated by Windowsmanagerservice.
Surface system
From picture above, we can see the buffer was in the process of Systemserver,which contains WMS.
Render Process
The surface memory is allocated by Gralloc module. and Surfaceflinger take charge of the mix different layers, and render framebuffers to device by using OpenGL methods.
Android application Framework analysis [in process]