什么是SystemServer for Android?

ar-*_*r-g 5 android android-source

package com.android.server;从Android的源代码中查看.有一些文档表明,在系统启动时加载其他重要服务作为Activity/Package/Power等是主要的角色,但这只是我的猜测.

有人可以更详细地解释什么是SystemServer的关键角色?

小智 7

Linux 内核启动后,PID 为 1 的 Init 将开始运行,这将进一步启动所有与 Init 相关的守护进程,如 logd、Installd、ueventd、lmkd 和 Zygote Init

进一步的 Zygote init 将启动系统服务器,它就像一个容器,包含各种服务,如 Powermanager 服务、Location Manager 服务、Acitivity Manager 服务。

例如:Acitivity Manager 服务将进一步启动 Launcher Activity。

您可以通过以下命令验证系统服务器:

cat /proc/`pidof system_server`/task/*/comm
Run Code Online (Sandbox Code Playgroud)

系统服务器代码在frameworks/base/services/java/com/android/server/中,命名为System_server.java。

因此 system_server 进程启动所有系统服务。这些服务作为 system_server 进程内的线程运行。


And*_*tel 6

这是一个很好的演示文稿,详细说明了android上的SystemServer.

以下是Android System Server处理的服务列表(来自同一演示文稿):

在此输入图像描述