简单说下 systemui

技术简单说下 systemui 简单说下 systemui简单说下 systemui
因为最近在进行一些 systemui 的开发,所以想简单地介绍一下笔者现在所认知的 systemui(目前的了解还是

简单说说systemui。

简单说下 systemui

因为最近正在开发一些systemui,我想简单介绍一下作者现在知道的systemui(目前了解的还很浅,希望专家不要喷.).

systemui 是什么

Systemui是安卓系统级的apk应用,包括状态栏、导航栏、通知、锁屏等相关操作的实现。这通常是做安卓系统开发的开发者会接触到的。对于和笔者类似的一般安卓语言程序员,通常没有联系systemui的要求。

如果你想学systemui,网上的信息比较少。更有用的信息是

谷歌AOSP的一篇文章介绍了如何重写车辆系统的systemui,大致设计了systemui的一些知识。互连

邓凡平老师的《深入理解 Android 卷 3》有一章专门介绍了借助源代码的systemui。书中使用的源代码是较早安卓版本的代码,与最新AOSP源代码的很多类结构不同,但主要功能类与关键方法的关系没有变化,可以借鉴学习。

百度搜索‘system ui’可以找到一些相关的信息,有些也很不错。

作者水平有限,所以本文只简单介绍一下这个systemui能做什么,没有深入的原理分析。

按各个模块简单说下systemui

systemui 的功能简单描述

如上所述,systemui的特点是:

这是一个apk,而不是构建安卓系统ROM时输入的代码。安卓系统启动后,通过系统服务器启动应用。

负责实现安卓系统最基本的操作,因为没有systemui就没有ui交互,所以我觉得这可以说是安卓系统最基本的视图部分。

这意味着systemui是一个单独的apk,这一点的影响是我们可以独立开发systemui,而不需要每次修改后都重置ROM打印机。只需通过ADB将其推到设备上并重新应用即可。

接下来,我将简单介绍一下在systemui中已经完成的工作,以及通过修改systemui可以完成的工作。

system 的功能拆分说明

主要功能可分为三个部分:

状态栏

状态栏不仅仅是一个通常理解的“状态栏”,顶部还有时间和信号强度等信息图标。除了这个长状态栏,它还包含

QS(QuickSettings,就是我们下拉“wifi开关”、“蓝牙开关”、“飞行模式开关”等快捷操作。)

显示通知栏和相关操作

导航栏

即底部多按钮导航栏的实现和手势导航栏的实现。

锁定屏幕

锁屏的实现和处理,这部分包含了各种解锁功能的显示。

虽然分为三个部分,但这三个部分紧密相关,因为systemui包的功能非常复杂(需要处理很多精美的动画效果和点击事件),所以代码逻辑也非常复杂。它的复杂性表现在这些方面:

功能交互

尽管AOSP的主开发人员已经尽最大努力使代码健壮和可读,但是systemui必须支持的需求太复杂了。所以快速访问口、通知栏、导航栏、锁屏都是相互作用的,使得阅读修改极容易被新问题所偏向。

还有画图手势判断。

systemui中的手势触摸极其复杂,大多数ui元素都是apk自定义视图。因此,测量/布局/绘制/触摸进行了许多自定义。这也使得绘图事件逻辑的这一部分很难理解。

小结

系统的事情非常复杂。现阶段我不敢随便分析原理。我只能简单说一下,让读者朋友们看看安卓的主控界面是如何工作的,包含了哪些关键功能。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/130347.html

(0)

相关推荐

  • 怎么确认java项目能接收多少并发(栈和队列java用什么实现)

    技术Java队列数据结构的实现方法是什么这篇文章主要介绍“Java队列数据结构的实现方法是什么”,在日常操作中,相信很多人在Java队列数据结构的实现方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年12月16日
  • Java程序最容易犯的错误有哪些呢

    技术Java程序最容易犯的错误有哪些呢今天就跟大家聊聊有关Java程序最容易犯的错误有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  1.Duplicat

    攻略 2021年11月16日
  • go语言中字符串的拼接方式有哪些

    技术go语言中字符串的拼接方式有哪些本篇内容主要讲解“go语言中字符串的拼接方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言中字符串的拼接方式有哪些”吧!+拼

    攻略 2021年12月9日
  • 英国的英语怎么说,“UK”是王国还是帝国

    技术英国的英语怎么说,“UK”是王国还是帝国UK全程是United Kingdom of Great Britain and Northern Ireland——大不列颠和北爱尔兰联合王国英国的英语怎么说。简称联合王国—

    生活 2021年10月25日
  • Socket基础知识有哪些

    技术Socket基础知识有哪些本篇文章给大家分享的是有关Socket基础知识有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何一步步掌握Socket相

    攻略 2021年11月25日
  • 形容难忘的成语,有什么成语形容难以忘怀

    技术形容难忘的成语,有什么成语形容难以忘怀1形容难忘的成语、刻骨铭心2、念念不忘 3、没齿难忘
    4、难以忘怀
    5、耿耿于怀
    6、魂牵梦萦
    7、朝思暮想
    8、 难以忘怀
    9、刻骨铭心
    10、记忆犹新
    1、刻骨铭心

    生活 2021年10月26日