system ui是什么呢?一起来看看小编今天的分享吧。
Android系统SystemUI介绍
Android的SystemUI是Android系统的一个界面,上面有一个状态条,下面有一个导航条,一个Keyguard,一个PowerUI,一个最近的任务界面RecentTask。对用户来说,SystemUI的变化是最直观的体验。所以,每一个Android版本的系统用户界面都会发生很大的变化。对于开发人员来说,了解Android的系统UI对于优化Android系统的界面和提高使用者的使用体验非常重要。
一.System UI介绍
System UI顾名思义是系统用户界面。它为系统提供了基础的显示界面。比如:屏幕顶端的状态栏、屏幕底部的导航栏、下拉界面的快速设置栏、通知栏、锁屏界面,音量调节对话框、截屏显示界面等功能。
二.system ui功能
首先system ui的特征:
是⼀个apk,⽽不是在构建Android系统ROM的时候打进去的代码。在Android系统启动的时候,通过SystemServer启动该应⽤。
负责了Android系统最基本的操作的实现,因为没有systemui的话就⽆法进⾏UI交互,所以笔者觉得这个可以说是Android系统最基本的视图部分了。
这就说明,systemui是⼀个单独的apk,这⼀点带来的影响就是我们可以单独开发systemui,⽽不需要每次修改完之后都重新打ROM刷机。只需要通过adbpush到设备中,重新应⽤就⾏了。
三.system的功能拆分说明
主要负责的功能⼤概可以分为三部分:
1.状态栏
状态栏上,除了一条长长的“状态栏”,上面写着时间和信号强度等。在这条长长的状态条上,还有一个QS(QuickSettings,也就是我们下拉出现的”打开关闭wifi“、”打开关闭蓝⽛“、”打开关闭飞⾏模式“等的快捷操作)
2.导航栏
即底部多按钮导航栏的实现,以及⼿势导航栏的实现。
3.锁屏
锁屏的实施与处理,包括多种解锁功能的扩展。
systemui的功能非常复杂(要处理大量的动画和处理点击事件),因此代码逻辑⼗分起来非常的复杂。它的复杂之处在于:
1.功能交互
尽管AOSP的开发者们努力让自己的代码更好地阅读,但系统的要求实在是太高了。因此,快捷键、通知栏、导航栏、锁屏都是相互影响的,很容易就会出现新的问题。
2.绘制以及⼿势判断
systemui⾥的⼿势触摸极其复杂,⼤部分的UI元素都是apk⾃定义的view。所以measure/layout/draw/touch都做了很多⾃定义。这也导致在阅读这部分绘制-事件逻辑的时候很不容易看明⽩。
以上就是小编今天的分享了,希望可以帮助到大家。