读书笔记 深入理解安卓内核设计思想 ---Android启动过程

 

一,安卓设备启动三阶段

   Bootloader   LinuxKernel 和Android系统服务·

二,第一个系统进程init PID是0

三,陆续启动其他关键性的服务进程 ServieManager Zygote SystemServer

四,ServiceManager的启动

crical选项说明是系统关键进程,该进程四分钟内异常退出,则设备重启进入还原模式

,Zygote、media、Surfaceflinger等也会被重启

五,Zygote

程序名:app_process64

源码路径:/frameworks/base/cmds/app_process

app_process主函数文件:/frameworks/base/cmds/app_process/App_main.cpp

1,主函数:main  主要解析app_process传入的参数

2,start 启动ZygoteInit

3,启动虚拟机

   frameworks/base/core/jni/AndroidRuntime.cpp   startVm

4,虚拟机启动后回调 onVmCreate

5,执行zygoteInit

/frameworks/base/core/java/com/android/internal/ZygoteInit.java

6,注册Socket 接收通知孵化进程

7,预加载各类资源

8,启动SystemServer

9,forkSystemServer 孵化SystemServer进程

10.runSelectLoop 死循环 zygote的守护体

11.runOnce 客户端数据处理,创建承载应用的新进程,父进程扫尾工作

12,forkAndSpecialize  >> nativeForkAndSpecialize >> fork 孵化新进程

13,callStaticVoidMedthod

14,handleChildProc  找到并执行目标进程的入口函数

15,执行 ActivityManagerService的startProcessLocked函数

16,Runtime.zygoteInit

   通用部分初始化CommonInit 本地初始化函数 nativeZygoteInit applicatonInit负责java层服务的启动

 

 

 

 

 

 

 

 

 

深入理解Android:卷2》是“深入理解Android”系列的第2本,第1本书上市后获得广大读者高度评价,在Android开发者社群内口口相传。《深入理解Android:卷2》不仅继承了第1本书的优点并改正了其在细微处存在的一些不足,而且还在写作的总体思想上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。从具体内容上讲,重点是Android Framework的Java层,对Java层涉及的核心模块和服务进行了深入而细致的分析。通过《深入理解Android:卷2》,读者不仅能对Android系统本身有更深入的理解,而且还能掌握分析大型复杂源代码的能力。《深入理解Android:卷2》共8章:第1章介绍了阅读本书所需要做的准备工作,包括Android 4.0源码的下载和编译、Eclipse环境的搭建,以及Android系统进程(system_process)的调试等;第2章对Java Binder和MessageQueue的实现进行了深入分析;第3章仔细剖析了SystemServer的工作原理,这些服务包括EntropyService、DropboxManagerService、DiskStatsService、DeviceStorageMonitorService、SamplingProfilerService和ClipboardService;第4章对系统中负责Package信息查询和APK安装、卸载、更新等工作的服务PackageManagerService进行了详细分析;第5章则对Android系统中负责电源管理的核心服务 PowerManagerService的原理进行了一番深入的分析;第6章以ActivityManagerService为分析重点,它的启动、Activity的创建和启动、BroadcastReceiver的工作原理、Android中的进程管理等内容展开了较为深入的研究;第7章对ContentProvider的创建和启动、SQLite、Cursor query和close的实现等进行了深入分析;第8章以ContentService和AccountManagerService为分析对象,介绍了数据更新通知机制的实现,以及账户管理和数据同步等相关知识。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值