android系统服务启动顺序

frameworks/base/services/java/com/android/server/SystemServer.java
private void run() {
	try {
	     Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "StartServices");
	     startBootstrapServices();
	     startCoreServices();
	     startOtherServices();
	} catch (Throwable ex) {
	    Slog.e("System", "******************************************");
	    Slog.e("System", "************ Failure starting system services", ex);
	    throw ex;
	} finally {
	    Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER);
	}
}

1、BootstrapServices为引导服务,启动的service包括:
Installer 系统安装apk时的一个服务类,启动完成Installer服务之后才能启动其他的系统服务
ActivityManagerService 负责四大组件的启动、切换、调度。
PowerManagerService 计算系统中和Power相关的计算,然后决策系统应该如何反应
LightsService 管理和显示背光LED
DisplayManagerService 用来管理所有显示设备
UserManagerService 多用户模式管理
SensorService 为系统提供各种感应器服务
PackageManagerService 用来对apk进行安装、解析、删除、卸载等等操作

2、 CoreServices为核心服务,包括:
BatteryService 管理电池相关的服务
UsageStatsService 收集用户使用每一个APP的频率、使用时常
WebViewUpdateService WebView更新服务

3、OtherServices其他服务,包括很多服务,比如:
CameraService 摄像头相关服务
AlarmManagerService 全局定时器管理服务
InputManagerService 管理输入事件
WindowManagerService 窗口管理服务
VrManagerService VR模式管理服务
BluetoothService 蓝牙管理服务
NotificationManagerService 通知管理服务
DeviceStorageMonitorService 存储相关管理服务
LocationManagerService 定位管理服务
AudioService 音频相关管理服务

你可能感兴趣的:(android系统服务启动顺序)