如何知道何时在Android引导过程中加载系统UI?状态栏和导航栏视图在哪里绘制?由于SystemUI是特权应用程序,因此它是否在启动应用程序(主屏幕)启动之前加载?我不确定。任何建议都欢迎。 最佳答案 下面是一连串的简要说明的步骤,希望可以阐明启动时“加载”系统UI组件的顺序。我将在Android 4.2上演示它,尽管其他版本的序列非常相似。当使用核心系统服务including SystemServer *对StatusBarManagerService进行“完成”时,它将通知第三方代码system is ready,并在包**。SystemUIService只是一个com.android.systemui SystemUIService,其application component方法启动/初始化UI组件,并将对这些组件的引用存储在Android类型的onCreate()数组中。第一个元素(mServices[])是状态栏或系统栏(状态+导航栏)。SystemUI是抽象mServices[0]类的实现,它执行一些UI任务(例如将视图添加到BaseStatusBar等)。此外,它声明了一系列与子类相关的抽象UI相关方法(例如SystemUI),例如,子类。 WindowManager。状态栏和导航栏不是由单个视图组成。诸如createAndAddWindows(),PhoneStatusBar等BaseStatusBar的子类可以处理基本上从PhoneStatusBar子类化的多个类,这些子类的绘制(状态栏的绘制也发生在TabletStatusBar方法中)。重要说明:在系统启动时,状态启动器(带有View的启动器)和onDraw()方法返回(并且启动动画退出)后,状态栏(和软件导航栏)才可见。状态栏所组成的视图已经被布局。 AOSP:* frameworks / base / services / java / com / android / server / ** frameworks / base / packages / SystemUI / src / com / android / systemui / SystemUIService.java *** frameworks / base / packages / SystemUI / src / com / android / systemui / statusbar /关于android - 当SystemUI在Android Boot中加载时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37465026/
10-09 06:26