- 博客(4)
- 收藏
- 关注
原创 android zygote运行流程
java应用程序,主要基于ART虚拟机,所有的应用程序apk都属于这类native程序,也就是利用C或C++语 言开发的程序,如bootanimation。所有的Java应用程序进程及系统服务SystemServer进程都由Zygote 进程通过Linux的fork()函数孵化出来的,这也就是为什么把它称为Zygote的原因,因为他就像一个受精卵,孵化出无数子进程,而native程序则由Init程序创建启动。GC的回收有一个 复杂的状态机控制,通过多次调用,可以使得尽可能多的资源得到回收。
2023-09-03 17:49:19 254
原创 android init.rc解析
它主要包含五种类型语句:Action(Action中包含了一系列的Command)、Commands(init语言 中的命令)、Services(由init进程启动的服务)、Options(对服务进行配置的选项)和Import(引入 其他配置文件)上面的函数就是解析相关的文件。在安卓系统启动之后可以分为三个阶段first_stage_init,安全策略阶段selinux_setup,以及second_stage_init。一些linux相关的系统文件和目录的创建,或者镜像的挂载。
2023-08-30 19:05:23 169
原创 android13 init启动流程分析
该函数主要是对系统环境设置以及创建一些必要的目录和文件,并挂载一些文件系统。之后就下执行SetupSelinux函数。首先执行FirstStageMain函数,该函数位于system/core/init/first_stage_init.cpp。该函数位于system/core/init/init.cpp。这里会设置一些selinux的规则。也就是一些安全策略。从system/core/init/main.cpp分析其代码如下。这个函数主要是服务启动以及属性设置,同时解析init.rc文件等等。
2023-08-29 19:52:18 162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人