前面的文章我们分析了 SystemUI 的启动流程,在 SystemServer 的 startOtherServices 方法中,会启动 SystemUIService 服务,SystemUIService 服务的 onCreate 方法会继续调用 SystemUIApplication 的 startServicesIfNeeded 方法,在该方法中会获取 SystemUI 组件各个类的具体路径,并通过和 Dagger2 相关的 ComponentHelper 关键接口,获取 SystemUI 组件对应的实例对象,然后依次调用每个组件的 start() 方法启动相关类的服务,启动完成后,又会再次调用该组件的 onBootCompleted( ) 方法。
源码位置:/frameworks/base/packages/SystemUI/res/values/config.xml
<string-array name="config_systemUIServiceComponents" translatable="false">
……
<item>com.android.systemui.statusbar.phone.StatusBar</item><!--状态栏-->
……
</string-array>
这里我们就来分析一下com.androi