system ui是什么呢?一起來看看小編今天的分享吧。
Android系統(tǒng)SystemUI介紹
Android的SystemUI是Android系統(tǒng)的一個界面,上面有一個狀態(tài)條,下面有一個導(dǎo)航條,一個Keyguard,一個PowerUI,一個最近的任務(wù)界面RecentTask。對用戶來說,SystemUI的變化是最直觀的體驗。所以,每一個Android版本的系統(tǒng)用戶界面都會發(fā)生很大的變化。對于開發(fā)人員來說,了解Android的系統(tǒng)UI對于優(yōu)化Android系統(tǒng)的界面和提高使用者的使用體驗非常重要。
一.System UI介紹
System UI顧名思義是系統(tǒng)用戶界面。它為系統(tǒng)提供了基礎(chǔ)的顯示界面。比如:屏幕頂端的狀態(tài)欄、屏幕底部的導(dǎo)航欄、下拉界面的快速設(shè)置欄、通知欄、鎖屏界面,音量調(diào)節(jié)對話框、截屏顯示界面等功能。
二.system ui功能
首先system ui的特征:
是?個apk,?不是在構(gòu)建Android系統(tǒng)ROM的時候打進去的代碼。在Android系統(tǒng)啟動的時候,通過SystemServer啟動該應(yīng)?。
負(fù)責(zé)了Android系統(tǒng)最基本的操作的實現(xiàn),因為沒有systemui的話就?法進?UI交互,所以筆者覺得這個可以說是Android系統(tǒng)最基本的視圖部分了。
這就說明,systemui是?個單獨的apk,這?點帶來的影響就是我們可以單獨開發(fā)systemui,?不需要每次修改完之后都重新打ROM刷機。只需要通過adbpush到設(shè)備中,重新應(yīng)?就?了。
三.system的功能拆分說明
主要負(fù)責(zé)的功能?概可以分為三部分:
1.狀態(tài)欄
狀態(tài)欄上,除了一條長長的“狀態(tài)欄”,上面寫著時間和信號強度等。在這條長長的狀態(tài)條上,還有一個QS(QuickSettings,也就是我們下拉出現(xiàn)的”打開關(guān)閉wifi“、”打開關(guān)閉藍(lán)?“、”打開關(guān)閉飛?模式“等的快捷操作)
2.導(dǎo)航欄
即底部多按鈕導(dǎo)航欄的實現(xiàn),以及?勢導(dǎo)航欄的實現(xiàn)。
3.鎖屏
鎖屏的實施與處理,包括多種解鎖功能的擴展。
systemui的功能非常復(fù)雜(要處理大量的動畫和處理點擊事件),因此代碼邏輯?分起來非常的復(fù)雜。它的復(fù)雜之處在于:
1.功能交互
盡管AOSP的開發(fā)者們努力讓自己的代碼更好地閱讀,但系統(tǒng)的要求實在是太高了。因此,快捷鍵、通知欄、導(dǎo)航欄、鎖屏都是相互影響的,很容易就會出現(xiàn)新的問題。
2.繪制以及?勢判斷
systemui?的?勢觸摸極其復(fù)雜,?部分的UI元素都是apk?定義的view。所以measure/layout/draw/touch都做了很多?定義。這也導(dǎo)致在閱讀這部分繪制-事件邏輯的時候很不容易看明?。
以上就是小編今天的分享了,希望可以幫助到大家。