beat365体育亚洲网页版-网上365体育买球波胆提现-365BETAPP官网

简约 · 精致 · 专注内容

Android SystemUI(一):图文并茂的介绍 :D

Android SystemUI(一):图文并茂的介绍 :D

Android入坑三两年,从上层应用到系统App,从Frameworks到架构初窥,虽说了解不少,但终归没做系列的记录。挑来捡去,认为还是要选个承上启下的东西来下笔较为妥当,那SystemUI模块是最适合不过了。

本系列基于AOSP Android 8.0 源码讲述SystemUI模块功能,若有讲的不对的地方,你来打我呀!

00

本文结构

01

什么是SystemUI?

作为Android系统核心应用,SystemUI负责反馈系统及应用状态并与用户保持大量的交互。耳熟能详的三栏:StatusBar(状态栏)、NavigationBar(导航栏)与Notification Panel(通知栏),以及Recents(近期任务界面),使用起来方便又快捷。

另外Keyguard(锁屏界面)也是属于SystemUI的一部分。并且在Android8.0代码中,Keyguard模块已经从外部被合并到SystemUI源码目录下。

02

SystemUI路径

与/packages/apps/下许多模块不同的是,SystemUI属于Android frameworks的一部分。这也就意味着,SystemUI在正常情况下是不可被替换的(例如,短信应用可以被三方应用替换,Settings因所需权限过高而除外)。

SystemUI 源码目录:

/frameworks/base/packages/SystemUI/

SystemUI APK路径:

/system/priv-app/SystemUI/

03

SystemUI功能划分

在Android8.0上,我大致将SystemUI模块分为11个子模块,如下图所示。其中的StackDivider和PipUI是在Android 7.0新加入的模块。相信很多人都已经体验过Android 7.0之后的分屏功能。

StatusBar:通知消息提示和状态展现NavigationBar:返回,HOME,RecentKeyGuard:锁屏模块可以看做单独的应用,提供基本的手机个人隐私保护Recents:近期应用管理,以堆叠栈的形式展现。

Notification Panel:展示系统或应用通知内容。提供快速系统设置开关。VolumeUI:来用展示或控制音量的变化:媒体音量、铃声音量与闹钟音量截屏界面:长按电源键+音量下键后截屏,用以展示截取的屏幕照片/内容PowerUI:主要处理和Power相关的事件,比如省电模式切换、电池电量变化和开关屏事件等。RingtonePlayer:铃声播放StackDivider:控制管理分屏PipUI:提供对于画中画模式的管理1

2

3

4

5

6

关于SystemUI的介绍到这里就结束了,后续会根据模块进行更为深入的分析。

相关推荐

5英尺等于多少厘米

5英尺等于多少厘米

beat365体育亚洲网页版 08-24
精心总结十三条建议,帮你创建更合适的MySQL索引
突尼斯世界杯26人大名单:法甲名将领衔_北京时间
蒸鸡蛋需要多长时间(鸡蛋需要蒸多久能熟,十多分钟够吗)
签名实名制报备

签名实名制报备

beat365体育亚洲网页版 07-17
英魂之刃与王者荣耀的比较分析,决战平安京,英魂之刃,王者荣耀,火影忍者这几个游戏哪一个更好玩呢?