SystemUI流程

news2024/12/22 23:13:57

目录

SystemUI类图

 SystemUI流程一:SystemUI启动流程

SystemUI流程二:StatusBar创建流程

SystemUI流程三:系统Notification实现流程


        源码基于 Android 12。

        SystemUI 是 Android 的系统界面,在 Andorid 系统源码中,系统内置 app 一般放在 package/apps下,例如 settings,camera,Phone,Message 等等。而在 framework/base/package 下,它们也是系统的 app,SystemUI 就在此目录下。SystemUI 是系统应用,由 SystemServer 进程进行启动,入口 Application 为SystemUIApplication。常用UI组件有如下几个:

  • 状态栏 StatusBar
  • 通知栏 NotificationPanel
  • 导航栏 NavigationBar
  • 最近任务 Recent
  • 键盘锁 Keyguard
  • 快捷按键栏 QSPanel

SystemUI类图

 SystemUI流程一:SystemUI启动流程

 

SystemUI流程二:StatusBar创建流程

 

SystemUI流程三:系统Notification实现流程

  • 根布局:super_status_bar.xml;
  • 顶上状态栏: status_bar.xml, 通过CollapsedStatusBarFragment.java加载,PhoneStatusBarView(FrameLayout,)是里面的父控件,对应 R.id.status_bar_container ;
  • 下拉状态栏:(包括通知为status_bar_expanded.xml),最外层布局NotificationPanelView。

通知显示过程:

  1. super_status_bar.xml
  2. status_bar.xml
  3. super_notification_shade.xml
  4. status_bar_expanded.xml
  5. NotificationPanelView
  6. NotificationsQuickSettingsContainer
  7. NotificationStackScrollLayout

        以上从 SystemUI 大概类图,以及自身启动流程开始,到 StatusBar 创建流程,再到系统 Notification 实现流程,一步步去理解 SystemUI 的相关流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL安装文档

一、下载 点开下面的链接:https://dev.mysql.com/downloads/mysql/ 点击Download 就可以下载对应的安装包了, 安装包如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q0gE9C3W-1682005377951)(assets/image-20221020012428839.png)]…

5. VBA消息框(MsgBox)

MsgBox函数显示一个消息框,并等待用户点击一个按钮,然后根据用户点击的按钮执行相关的操作。 5.1 语法 MsgBox(prompt[,buttons][,title][,helpfile,context]) 5.2 参数说明 prompt - 必需的参数。在对话框中显示为消息的字符串。提示的最大长度大约为…

腾讯云4核8G服务器CVM S5和轻量应用服务器性能PK来了

腾讯云4核8G云服务器可以选择轻量应用服务器或CVM云服务器标准型S5实例,轻量4核8G12M服务器446元一年,CVM S5云服务器935元一年,相对于云服务器CVM,轻量应用服务器性价比更高,轻量服务器CPU和CVM有区别吗?性…

ERROR [io.undertow.request] UT005023: Exception handling request 报错处理

1.背景 找了好久,突然灵光乍现是不是因为容器错误问题,本来就是刚从github上下载下来的项目,怎么别人不报错就我报错嘞,我还什么都没改怎么能这样!!!! 这就是我的报错,乍…

storm proxies代理服务器IP如何提高安全性?

代理服务器IP可以通过以下方式来提高安全性: 选择可靠的代理提供商:选择经过信誉验证、有良好用户评价的代理提供商,确保代理服务器IP的稳定性和可靠性,减少被黑客攻击的风险。使用加密通信协议:使用支持加密通信协议&…

【网络编程】网络套接字,UDP,TCP套接字编程

前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ 特别说明:本文分享的代码运行结果…

RSA大数N分解Pollard_rho和素数测试Tkinter GUI

RSA大数N分解Pollard_rho和素数测试 系统介绍 : 环境要求: 1、python 2、Tkinter GUI 3、rsa RSA大数N分解和素数测试是密码学中非常重要的问题。其中,RSA算法是基于大质数分解的困难性而设计的公钥加密算法,而素数测试则是判断一个数是…

【0190】Unix 域套接字实战(2)

文章目录 1. UNIX套接字通信2. 为什么需要套接字3. 套接字生命周期4. 示例代码1. UNIX套接字通信 套接字提供进程之间的一种通信方式,即它们交换数据的一种方式。它通常的工作方式是process_a has socket_x, process_b has socket_y, 和两个套接字相连。然后每个进程都可以使…

【Java 数据结构】优先级队列 (堆)

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

达梦数据库(DM)的安装教程分享

国产数据库现状 关系型数据库 Oracle 21c 银行、电力、运营商,9i,11g Sqlserver 微软,政府 Mysql 开源 分社区版和商业版 社区版免费 PostgreSQL 开源、国产数据二次开发、学术研究 informix Sybase ERP 行业 DB2 邮政、烟草 国内 武汉达梦(自…

前端面试大全全全全

SEO SEO是搜索引擎优化(Search Engine Optimization)的缩写,它是指通过对网站的优化来提高其在搜索引擎排名中的位置,从而获得更多的有机流量和更好的网站可见度。 SEO主要包括优化网站的内容、结构、代码等方面,使其…

ES6 块级作用域

ES6之前没有块级作用域,ES5的var没有块级作用域的概念,只有function有作用域的概念,ES6的let、const引入了块级作用域。 ​ ES5之前if和for都没有作用域,所以很多时候需要使用function的作用域,比如闭包。 1.1.1 什么…

基于R语言经典地理加权回归,半参数地理加权回归、多尺度地理加权回归、地理加权主成分分析、地理加权判别分析等空间异质性数据分析

目录 专题一 地理加权回归下的描述性统计学 专题二 地理加权主成分分析 专题三 地理加权回归 专题四 高级回归与回归之外 更多推荐 以地理加权回归为基础的一系列方法:经典地理加权回归,半参数地理加权回归、多尺度地理加权回归、地理加权主成分分析…

从个人角度看什么是加密算法

什么是加密?从程序的角度看,加密就是一个函数,它接收明文P和密钥K作为参数,传入加密函数运算后,得到的返回值,称之为密文C C encrypt(P, K);而解密,就是对加密的逆操作。把密文C和密钥K作为参…

102. 二叉树的层序遍历【206】

难度等级:中等 上一篇算法: 215. 数组中的第K个最大元素【382】 力扣此题地址: 102. 二叉树的层序遍历 - 力扣(Leetcode) 1.题目:102. 二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值…

构建清晰、高效的Android应用程序:了解Android架构组件

概述 Android 架构组件是一个由 Google 推出的集成库,旨在使 Android 应用开发更加快捷、高效和易于维护。Android 架构组件提供了一套可扩展的 API,帮助开发者在编写 Android 应用时,更好地组织应用的代码,并提供了一些通用的、…

C++ | 一些你所忽略的类和对象小知识

文章目录 一、再谈构造函数1、初始化列表引入初始化的概念区分语法格式及使用注意事项 2、explict关键字单参构造函数多参构造函数 二、static成员1、面试题引入2、static特性细述3、疑难解惑4、在线OJ实训5、有关static修饰变量的一些注意要点 三、匿名对象四、友元1、友元函数…

iPhone照片太多,如何快速搜索照片?

当你在iPhone中存储了大量照片,如何快速找到其中的某一张照片?通过“照片”应用,你可以轻松查找特定人物、地点、事物或事件的照片。 通过标签查看: 轻点照片应用右下角的“搜索”,iOS 系统会自动将照片分类显示。 时…

java944医院医疗物资管理系统

本系统以医院业务流程为基础,结合考虑医疗物资的特点,主要包含物流信息管理系统中的后勤物资仓库管理、供应消毒物资管理、科室申请领用管理以及查询决策系统等功能。 目 录 1 1课题背景 2 2整体设计 2 2.1 设计目标 2 2.2 系统架构 3…

xorm实战——结构体映射到实现数据库操作(包含导出数据库脚本)

下载引入框架 go语言中要使用orm框架需要先下载框架,并引入: // 安装工具包 go get xorm.io/xorm//安装数据库驱动(这里是mysql)go get -u github.com/go-sql-driver/mysql//引入框架import ("gorm.io/driver/mysql"&…