Android 12.0 framework中开机启动之SystemServer相关源码分析

1.前言

  在12.0的系统中,systemserver进程也是非常重要的,system_server 进程承载着整个framework的核心服务,
例如创建 ActivityManagerService、PowerManagerService、DisplayManagerService、PackageManagerService、WindowManagerService、
LauncherAppsService等80多个核心系统服务。这些服务以不同的线程方式存在于system_server这个进程中,接下来简单分析下启动的相关的
服务的源码

2. framework中开机启动之SystemServer相关源码分析的核心类

 /frameworks/base/services/java/com/android/server/SystemServer.java

3. framework中开机启动之SystemServer相关源码分析

在 Android 12.0的系统启动过程中,在系统启动以后,会启动的一个进程-init 进程会执行一系列初始化操作后,并最终启动系统最重要的进程-Zygote 进程。Zygote 进程是一个特殊的进程,它会在系统启动时先行启动,
并负责处理应用程序进程的创建请求。当一个应用程序需要启动时,会通过AMS的binder通讯方式,向Zygote 进程会 fork 出一个新的进程,并为其分配独立的资源空间。
这个新创建的新进程就是应用程序的进程。应用程序进程启动后,将会运行应用程序中的代码,并提供app相应的功能或服务。
在 Zygote 进程启动之后,它会执行 handleSystemServerProcess 函数。该函数会进行 SystemServer 进程的初始化,并启动 SystemServer 进程。

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/131968418
今日推荐