Android UI 優化——使用HierarchyViewer工具
進入正題,我們這一篇文章會提到為什麼使用HierarchyViewer,怎麼使用HierarchyViewer,後者內容會多一下。
為什麼使用HierarchyViewer
不合理的布局會使我們的應用程序UI性能變慢,HierarchyViewer能夠可視化的角度直觀地獲得UI布局設計結構和各種屬性的信息,幫助我們優化布局設計。HierarchyViewer是我們優化程序的工具之一,它是Android自帶的非常有用的工具,可以幫助我們更好地檢視和設計用戶界麵(UI),絕對是UI檢視的利器。
怎麼使用HierarchyViewer
Hierarchy Viewer是隨Android SDK發布的工具,位於Android
SDK/tools/hierarchyviewer.bat (Windows操作係統,mac上顯示的為hierarchyviewer),使用起來也是超級簡單,通過此工具可以詳細的理解當前界麵的控件布局以及某個控件的屬性(name、id、height等)。
1)連接設備真機或者模擬器(真機可能無法連接,我用的2.3,連接上了,沒讀到內容);
2)啟動你要觀察的應用。
3)打開Hierarchyviewer,點擊hierarchyviewer文件即可。連接後如下圖,這個圖是在官方文檔獲取的。
4)雙擊最上麵的,如下圖的<Focused Window>,這個是當前窗口,加載完畢後會顯示當前界麵層次結構。
5)觀察層次結構圖,這個圖有點大,可以拖動。View Hierarchy窗口顯示了Activity的所有View對象,選中某個View還可以查看View的具體信息,最好選擇工具中的Show Extras選項。
6)觀察單個view,選擇單個view後會出現如下圖所示圖形。這裏會看到Measure、Layout、Draw的耗時。
View Hierarcy 同時能幫助你識別渲染性能比較低的部分。View節點中帶有紅色或黃色的點代表速度較慢的View對象。如單步運行應用程序那樣,你可以這樣來判斷某個View 速度一直很慢,還是隻在某個特定環境下速度才慢。
請注意,低性能並不表示一定有問題,特別像是ViewGroup對象,View的子節點越多,結構越複雜,性能越差。
View Hierarchy 窗口還可以幫助你找到性能問題。隻要看每個View節點的性能指標(顏色點)就可以,你可以看到測量(布局或繪製)最慢的View對象是哪個,這樣你就能快速確定,要優先察看哪個問題。
參考:
https://developer.android.com/tools/help/hierarchy-viewer.html最後更新:2017-04-03 12:55:19