http://blog.csdn.net/luoshengyang/article/details/6768304
简要整理:
linux-->init
|
native服务zygote(init.rc中定义的service,代码:app_main.cpp //步骤1)
|
{AppRuntime.start(),AndroidRuntime.start()}
|
{通过jni调用Java函数ZygoteInit.java.main(),startVM(),RegJNI}
|
{startSystemServer(), 为zygote服务建立伺服socket}
| |
{RuntimeInit.java.zygoteInit(), 无限循环等待来自ActivityManagerService的请求并通知zygote服务为应用程序fork进程(逻辑流程回到步骤1)}
|
初始化binder,调用 SystemServer.java.main()
|
SystemServer.init1()
|
JIN:com_android_server_SystemServer.cpp ---> 启动native服务{SurfaceFlinger,AudioFlinger,Sensor,MediaPlayer,Camera,AudioPolicy}
|
调用libsystem_server库函数system_init(),代码:system_init.cpp
|
SystemServer.init2()
|
ServerThread.start()--->启动java服务{ActivityManager,Lights,SensorPower,Connectivity,Package,WindowManager,Bluetooth...}
分享到:
相关推荐
他首先从Android系统的启动流程入手,解释了Zygote进程的孵化过程,以及系统服务如何启动和管理。 书中的重点之一是Android的Dalvik和ART(Android Runtime)运行时环境。这部分内容涵盖了类加载机制、垃圾回收算法...
第5章讲解了Android系统中常用的类,包括sp、wp、RefBase、Thread等类,同步类,以及Java中的Handler类和Looper类,掌握这些类的知识后方能在后续的代码分析中做到游刃有余;第6章以MediaServer为切入点,对Android...
从Zygote进程的启动,到System Server的初始化,再到各种系统服务的启动,源码分析可以帮助我们了解Android系统如何从零开始运行。 11. **AOSP源码构建** 要深入理解Android Framework,你需要熟悉Android开放源...
5. **系统启动流程**:从Zygote进程的孵化,到SystemServer的初始化,再到第一个Activity的启动,这一系列步骤揭示了Android设备如何从开机到运行应用。 6. **权限管理系统**:Android的权限模型是保障用户隐私和...
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip