SystemUI启动,及其SystemUIService启动

android12-release


SystemServer.run() - startOtherServices - startSystemUi - context.startServiceAsUser - windowManager.onSystemUiStarted()


frameworks/base/core/res/res/values/config.xml

SystemUIService

com.android.systemui/com.android.systemui.SystemUIService
启动服务SystemUIService,运行在进程com.android.systemui
context.startServiceAsUser - SystemUIService.onCreate() - getApplication()).startServicesIfNeeded()


SystemUI服务要启动的类frameworks/base/packages/SystemUI/res/values/config.xml:config_systemUIServiceComponents

    <!-- SystemUI Services: The classes of the stuff to start. --><string-array name="config_systemUIServiceComponents" translatable="false"><item>com.android.systemui.util.NotificationChannels</item><item>com.android.systemui.keyguard.KeyguardViewMediator</item><item>com.android.systemui.recents.Recents</item><item>com.android.systemui.volume.VolumeUI</item><item>com.android.systemui.statusbar.phone.StatusBar</item><item>com.android.systemui.usb.StorageNotification</item><item>com.android.systemui.power.PowerUI</item><item>com.android.systemui.media.RingtonePlayer</item><item>com.android.systemui.keyboard.KeyboardUI</item><item>com.android.systemui.shortcut.ShortcutKeyDispatcher</item><item>@string/config_systemUIVendorServiceComponent</item><item>com.android.systemui.util.leak.GarbageMonitor$Service</item><item>com.android.systemui.LatencyTester</item><item>com.android.systemui.globalactions.GlobalActionsComponent</item><item>com.android.systemui.ScreenDecorations</item><item>com.android.systemui.biometrics.AuthController</item><item>com.android.systemui.SliceBroadcastRelayHandler</item><item>com.android.systemui.statusbar.notification.InstantAppNotifier</item><item>com.android.systemui.theme.ThemeOverlayController</item><item>com.android.systemui.accessibility.WindowMagnification</item><item>com.android.systemui.accessibility.SystemActions</item><item>com.android.systemui.toast.ToastUI</item><item>com.android.systemui.wmshell.WMShell</item></string-array>

例如com.android.systemui.statusbar.phone.StatusBar

startServicesIfNeeded - new StatusBar - StatusBar.start()

start():

  • createAndAddWindows(result) 添加状态栏
  • setUpPresenter() 设置初始通知状态NotificationsController.initialize
  • startKeyguard()
  • … …

流程图

SystemUI启动,及其SystemUIService启动相关推荐

  1. Android 8.0学习(27)--- SystemUI(二)启动流程和初始化

    Android 8.0 SystemUI(二):启动流程和初始化 这篇的话,将对SystemUI的启动和大体的初始化作描述.篇幅应该比上篇多了些.哈哈. 老样子,先上目录,简洁明了. 概述 由于需要实 ...

  2. android uboot启动过程,Android启动流程简析(一)

    最近一时兴起,想对Android的启动流程进行一次分析,经过一番整理,从以下几个方面进行总结,代码部分只讨论思路,不论细节. Android架构介绍 Android启动概述 BootLoader介绍 ...

  3. linux停止mysql后又自己启动,Linux上 mysql启动/停止/重启/开机启动/开机禁止启动...

    1.查看mysql版本 方法一:status; 方法二:select version(); 2.Mysql启动.停止.重启常用命令 a.启动方式 1.使用 service 启动: [root@loca ...

  4. Linux设置程序开机启动-tomcat开机启动

    假设我有一个tomcat应用需要开机启动. 前提你的JAVA环境变量已经配置好没有问题,检测方法如图 然后找到tomcat的目录,我的目录是 /home/yuqing_4.0/tomcat_share ...

  5. linux apache无法启动,linux mysq 无法启动 apache 无法启动

    linux mysq 无法启动 apache 无法启动Starting MySQL.The server quit without updating PID file (/[FAILED]nux/my ...

  6. Linux启动跟windows启动,Windows,Linux启动机制简介

    前言 本文内容只集中在操作系统启动原理的讲解上,不涉及启动的技术细节,因为这些细节都可以通过网络或者相关代码了解.只有了解了启动原理,才能在分析和解决有关启动的问题时具有针对性,不会有无从下手的感觉. ...

  7. Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理

    Windows PE的全名是WindowsPreinstallationEnvironment(WinPE)直接从字面上翻译就 是"Windows预安装环境".微软的本意是:Win ...

  8. 【Android 启动过程】Android 应用启动流程 | Activity 启动流程

    文章目录 一.Android 系统启动流程 二.Activity 启动流程 一.Android 系统启动流程 打开 Android 手机电源键后 , 先运行 BootLoader , 然后使用 Boo ...

  9. 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | AMS 启动前使用动态代理替换掉插件 Activity 类 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

最新文章

  1. css 在线生成器,CSS Sprites在线生成器
  2. JSP——JSTL语法总结
  3. Kubernetes从懵圈到熟练:认证与调度
  4. 小米电视面板采购“砍单”
  5. 从一张截图看秒开缓存的强大功效
  6. abaqus实例手册_《ABAQUS 6.14超级学习手册》——1.5 ABAQUS帮助文档-阿里云开发者社区...
  7. 污水处理施耐德TM218PLC程序
  8. 如何批量提取多个 PDF 文档中的图片
  9. php加密=>python解密或者python加密=>php解密
  10. AUTOCAD——文字样式
  11. 5APMP项目管理:PMP考试备考经验学习方法和模拟考题(1-经验篇)
  12. docker 配置 CA验证
  13. 成功解决Fatal error in launcher: Unable to create process using ‘“…python.exe“ “…jupyter.exe“ notebook‘
  14. JVM中栈的frames详解
  15. CrystalDiskInfo硬盘检测工具 标准版及萌妹版
  16. Vue 源码解读 起步(二)
  17. bs4爬虫:获取双色球中奖信息
  18. SAP 科目的 未清项管理的理解
  19. 如何查询网页游戏服务器记录,如何查询网页游戏服务器记录
  20. Grads转成Netcdf

热门文章

  1. Camstudio-免费的屏幕录像软件中文版下载使用教程:
  2. A/D转换器和D/A转换器
  3. 基于多因子模型,利用申万行业分类对量化公募基金进行分析
  4. java camel,无“to”端点的Apache Camel路由
  5. 百度地图以“准”作则,诠释AI时代新出行
  6. OSS brower js SDK
  7. XMOS 开发探索0- 新建工程,刷入程序
  8. 脚本一键部署(dhcp、dns、pxe、raid、nfs+apache+expect、lvm、磁盘分区、监控资源)
  9. 读书VS整容,出国留学不如当网红?
  10. html如何同时选择多个选择器,JS中如何使用选择器选择多个元素