SystemServiceManager 详解

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值