Android application framework 分析[in process]

Android启动流程解析
本文详细介绍了Android应用的启动过程,从Zygote进程初始化到JVM实例创建,再到ActivityThread在新进程中执行。深入探讨了SystemServer启动及SystemService初始化过程,并解析了ActivityManagerService的工作原理。同时,对UI系统的构成进行了说明,包括ViewRoot、WindowManagerService的角色及其与Surface系统的交互。
  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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值