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 the book 深入理解android
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.

posted @ 2017-06-24 08:51  gccbuaa  阅读(128)  评论(0编辑  收藏  举报