美文网首页猿湿Xoong的技术栈Android开发Android开发
Android 8.0 SystemUI(一):图文并茂的介绍

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

作者: 是天哥哥啊 | 来源:发表于2018-04-17 12:55 被阅读132次
    文章已同步更新至微信公众号:猿湿Xoong

    我擅长什么?
    当我想到这个这个问题的时候,脑子里是一片空白的:哎呀,我什么都知道点,可是说擅长的,还真没拿的出手的,这怎么行!
    于是就有了SystemUI系列的文章。
    —— 猿湿Xoong

    一、本文结构

    二、什么是SystemUI?

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

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

    三、SystemUI路径

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

    SystemUI 源码目录:

    /frameworks/base/packages/SystemUI/

    SystemUI APK路径:

    /system/priv-app/SystemUI/

    四、SystemUI功能划分

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

    主要模块有:

    1. StatusBar:通知消息提示和状态展现
    2. NavigationBar:返回,HOME,Recent
    3. KeyGuard:锁屏模块可以看做单独的应用,提供基本的手机个人隐私保护
    4. Recents:近期应用管理,以堆叠栈的形式展现。
    5. Notification Panel:展示系统或应用通知内容。提供快速系统设置开关。
    6. VolumeUI:来用展示或控制音量的变化:媒体音量、铃声音量与闹钟音量
    7. 截屏界面:长按电源键+音量下键后截屏,用以展示截取的屏幕照片/内容
    8. PowerUI:主要处理和Power相关的事件,比如省电模式切换、电池电量变化和开关屏事件等。
    9. RingtonePlayer:铃声播放
    10. StackDivider:控制管理分屏
    11. PipUI:提供对于画中画模式的管理

    重要模块在系统中的位置截图如下:

    状态栏与导航栏 音量栏 QuickSettings未展开 通知栏 锁屏 最近任务列表

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

    欢迎关注微信公众号:猿湿Xoong,获取最新通知

    相关文章

      网友评论

        本文标题:Android 8.0 SystemUI(一):图文并茂的介绍

        本文链接:https://www.haomeiwen.com/subject/swvukftx.html