Android application framework 分析[in process]

  1. application activity
  2. application service
  3. application UI system
  4. application sdk tool
  5. 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 socket 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 service

3 UI system

activity UI

-> every window the top view is decor view,phonewindow has viewroot and windowsmanager which windowmanager stands for windowmanagerservice
-> view root incldues Iwindow and a surface ,while IWindow receive callback from wms,and surface point to the buffer created by windowsmanagerservice.

surface system

技术分享
from picture above that we can see the buffer is in the process of systemserver,which contains wms.

render process
the surface memory is allocated by gralloc module. and surfaceflinger take charge of mix different layers, and render framebuffers to device by using opengl methods.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。