1.概览
SystemServiceManager 类用于创建、启动各种系统服务,并且这些系统服务必须是 com.android.server.SystemService 的子类。除此之外,它还支持系统服务启动状态的通知及处理。用户使用方法 startBootPhase 来发送并告知通过 SystemService 启动的服务当前系统的启动阶段,对于AndroidT 中所支持的通知阶段见 SystemService.PHASE_*。用户通过复写 onBootPhase方法来处理其需要针对不同系统事项。例如只有在ActivityTaskManagerService接收到系统处于阶段PHASE_SYSTEM_SERVICES_READY的时候才会去获取服务DisplayOffloadInternal.
//frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
public static final class Lifecycle extends SystemService {
@Override
public void onBootPhase(int phase) {
super.onBootPhase(phase);
if (phase == PHASE_SYSTEM_SERVICES_READY) {
mService.mDisplayOffloadInternal = LocalServices.getService
Android系统服务启动机制

本文详细解析了Android中SystemServiceManager如何启动系统服务的过程,包括创建、启动服务、通知启动状态等关键步骤。此外,还介绍了如何通过SystemService启动特定服务以及系统服务启动的不同阶段。
最低0.47元/天 解锁文章
970

被折叠的 条评论
为什么被折叠?



