作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何知道系统 UI 何时在 Android
启动过程中加载?状态栏和导航栏 View 到底绘制在哪里?由于 SystemUI
是一个特权应用程序,因此它是否会在启动器应用程序(主屏幕)启动之前加载?我不知道。欢迎提出任何建议。
最佳答案
下面是一系列简要说明的步骤,希望能对启动时“加载”系统 UI 组件的顺序有所了解。我将在 Android
4.2 上进行演示,尽管其他版本的顺序非常相似。
SystemServer
“完成”核心系统服务时,including StatusBarManagerService
*,它通知第 3 方代码 system is ready并启动系统 UI(第 870 行),或更准确地说,SystemUIService
在 com.android.systemui
包中 **。SystemUIService
只是一个 Android
application component谁的onCreate()
方法启动/初始化 UI 组件并将对组件的引用存储在 SystemUI
的 mServices[]
数组中类型。第一个元素 (mServices[0]
) 是状态栏或系统栏(状态 + 导航栏)。BaseStatusBar
,抽象 SystemUI
类的实现,做一些 UI 的事情(比如添加 View 到 WindowManager
等)。此外,它还声明了一系列与 UI 相关的抽象方法(例如 createAndAddWindows()
),这些方法将由子类实现,例如PhoneStatusBar
.BaseStatusBar
的子类,如 PhoneStatusBar
、TabletStatusBar
等。*** 处理多个类,基本上是从 View
继承而来的。其绘图(状态栏的绘图也是如此)发生在 onDraw()
中方法。Activity
(带有 android.intent.category.HOME
的启动器)才可见。 ) onResume()
方法返回(并且 bootanimation 退出),尽管状态栏组成的所有 View 都已经布置好。 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/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!