Sub*_*rat 1 boot android android-source android-statusbar
如何知道系统UI何时在Android
启动过程中加载?状态栏和导航栏视图的确切位置在哪里?作为SystemUI
特权应用程序,它是否在启动器应用程序(主屏幕)启动之前加载?我不确定.任何建议都是受欢迎的.
下面是一系列简要说明的步骤,希望能够阐明在启动时"加载"系统UI组件的顺序.我将在Android
4.2 上演示它,尽管其他版本的序列非常相似.
SystemServer
核心系统服务(包括StatusBarManagerService
*)"完成"时,它会通知第三方代码系统已准备好并启动系统UI(第870行),或者更准确地说,SystemUIService
在com.android.systemui
包**中.SystemUIService
它只是一个Android
应用程序组件,其onCreate()
方法启动/初始化UI组件并存储对类型mServices[]
数组中组件的引用SystemUI
.第一个元素(mServices[0]
)是状态栏或系统栏(状态+导航栏).BaseStatusBar
,抽象SystemUI
类的实现,做一些UI的东西(比如添加视图WindowManager
等).另外,它声明了一系列createAndAddWindows()
由子类实现的抽象UI相关方法(例如),例如PhoneStatusBar
.BaseStatusBar
的PhoneStatusBar
,TabletStatusBar
等***处理多类基本上都是从子类View
,其绘图(也是如此状态栏的绘图)发生在onDraw()
方法.Activity
(带有一个android.intent.category.HOME
)onResume()
方法返回(并且bootanimation退出),尽管状态栏组成的所有视图都有已经布局了. AOSP:
*frameworks/base/services/java/com/android/server /
**frameworks/base/packages/SystemUI/src/com/android/systemui/SystemUIService.java
***frameworks/base/packages/SystemUI/src/COM /安卓/ systemui /状态栏/
归档时间: |
|
查看次数: |
869 次 |
最近记录: |