Android工具Hierarchy Viewer

在Android的SDK工具包中,有不少十分有用的工具,能夠幫助程序員開發和測試Android應用程序,大大提升其工做效率。其中的一款叫Hierachy Viewer的可視化調試工具,能夠很方便地在開發者設計,調試和調整界面時,提升用戶的開發效率。本文將以一個實際例子講解如何使用該款工具運用在Android的開發過程當中。本文的讀者對象爲具有初步Android知識的用戶。android

具體來講主要功能有2個:程序員

1. 從可視化的角度直觀地得到UI佈局設計結構和各類屬性的信息,幫助咱們優化佈局設計;工具

2. 結合debug幫助觀察特定的UI對象進行invalidate和requestLayout操做的過程。佈局


1. 基本使用方法測試

(1)hierarchyviewer的使用很是簡單,啓動模擬器或者鏈接上真機後,啓動hierarchyviewer.bat,會看到下面的界面,Devices裏列出了能夠觀察的設備,Windows裏列出的是當前選中的設備的能夠用來顯示View結構的Window:優化

選中某個想要觀察的Window,好比上面列出的com.android.launcher/com.android.launcher.Launcher項,而後點擊菜單欄的Load View Hierarchy,就進入Layout View,因爲要解析相關Window,因此這個過程要幾秒鐘,左邊列出的是當前窗口的樹型佈局結構圖,右邊列出的是當前選中的某個子View的屬性信息和在窗口中的位置:
spa

須要注意的是:Layout View列出的View結構是從視圖的根節點開始的,好比針對Launcher使用的layout,它的底層基礎佈局DragLayer其實是放在一個FrameLayout裏的,該FrameLayout又是被PhoneWindow的DecorView管理的。debug

(2)點擊界面左下角相似九宮格的按鈕,就進入了Android稱之爲Pixel Perfect View的界面,這個界面裏主要是從細節上觀察UI效果:設計

左邊是瀏覽視圖,中間是全局的視圖,右邊是當前關注的地方的細節放大,是像素級別的,對於觀察細節很是有用。調試

Refresh Rate用來控制View多久從模擬器或者真機上更新一次視圖數據。

Zoom就是放大局部細節用的,細節顯示在最右邊的視圖上。

Overlay比較有意思,主要用來測試在當前視圖上加載新的圖片後的效果,點擊Load…選擇圖片後,能夠控制在當前界面上顯示的透明讀,滑動0%~100%的控件便可。若是選擇了Show in Loupe,右側的放大視圖也會將加載的圖片的細節結合着透明度顯示出來。不過目前這個Overlay作的比較簡單,合成的圖只能從界面的左下角爲原點畫出來,不能移動。

(3)在Layout View中,選中一個view的圖示,點擊工具欄的Display View,就能夠看到這個view的實際顯示效果,能夠點選Show Extras,這個功能也比較實用,能夠顯示出該View中不一樣元素顯示的邊界,幫助咱們檢查是否正確。

2. Hierarchyviewer的invalidate和requestLayout功能

對於Android的UI來講,invalidate和requestLayout是最重要的過程,Hierarchyviewer提供了幫助咱們Debug特定的UI執行invalidate和requestLayout過程的途徑,方法很簡單,只要選擇但願執行這兩種操做的View點擊按鈕就能夠。固然,咱們須要在例如onMeasure()這樣的方法中打上斷點。這個功能對於UI組件是自定義的很是有用,能夠幫助單獨觀察相關界面顯示邏輯是否正確。

相關文章
相關標籤/搜索