[灌水] 简单聊下 SystemServer 都干了些什么
[灌水] 简单聊下 SystemServer 都干了些什么
system_server 进程作为 Android 的操作系统基础能力提供者,其本身启动的时候需要进行一些处理才能保证 Android 系统的完整运行。本文简单灌水式说明一下 system_server 初始化的时候执行的操作,总共分为三个部分。
第一步:创建 system_server 进程必须的辅助对象、上下文环境等。
例如通过 ActivityThread 创建 context / Application / Instrumentation
第二步:初始化上下文信息,初始化必备的辅助对象。
- 设置系统信息 (这部分信息会被各种 service 使用)
- 整体的 重启信息、启动时间 等相关信息
- 设备默认 区域、语言、城市 等信息
- 设置工具类信息 (这部分设置会影响各个 service )
- 设置 Environment 、 Binder 、Parcel 等的基本属性
- 初始化一个 serviceManager 对象,用于管理下面要打开的其他 service
第三步:启动其他的 services
这部分的 service 总共分为三类,bootstrp(鞋带,表示这是第一步) 、核心 service 以及其他的杂项功能。分别简单描述如下:
-
bootstrapService
- system-设备 一侧 相关的: WatchDog / Recovery / PowerManagerService / PackageManagerService /
- 其他app - 平台 一侧相关的:AMS
- 这些 service 之间互相关系的初始化(加入到 watchDog 等)
-
coreService
- 一些系统状况监测服务,例如 BatteryService / binder stats / looper stats
-
otherService 杂项 service
- 设备硬件服务 : 传感器 、vr / inputManager /
- 系统软件服务 : accountManager / 升级 、backup / 设备时间、时区、国家、位置 / 搜索
- 外设 : 打印机 、 HDMI 、 TV 、 媒体源 、 TV-remote 、
- 系统桌面 : 快捷方式 、 launcher 、 壁纸
- 代码处理 : adb 、
- 手表⌚️处理 :
- APP 功能 : 粘贴板 、 NotificationManager 、
- 安全 & 识别 : 脸部识别 、虹膜 、 指纹 、 声音识别 、摄像头前的手势处理
- 蓝牙网络 :蓝牙 / 网络检测、适配、状态监控 / wifiAware / wifi-rtt / wifip2p / ethernet / connectivity /
- WMS
最后会初始化各个 service 之间的交互。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix