先說些題外話,但願路過的各位支持,博主有幸成爲2013年度博客之星的候選人,期待你的一票,謝謝。html
投票猛擊:android
http://vote.blog.csdn.net/blogstaritem/blogstar2013/xyz_lmn工具
進入正題,咱們這一篇文章會提到爲何使用HierarchyViewer,怎麼使用HierarchyViewer,後者內容會多一下。佈局
不合理的佈局會使咱們的應用程序UI性能變慢,HierarchyViewer可以可視化的角度直觀地得到UI佈局設計結構和各類屬性的信息,幫助咱們優化佈局設計。HierarchyViewer是咱們優化程序的工具之一,它是Android自帶的很是有用的工具,能夠幫助咱們更好地檢視和設計用戶界面(UI),絕對是UI檢視的利器。性能
Hierarchy Viewer是隨Android SDK發佈的工具,位於Android SDK/tools/hierarchyviewer.bat (Windows操做系統,mac上顯示的爲hierarchyviewer),使用起來也是超級簡單,經過此工具能夠詳細的理解當前界面的控件佈局以及某個控件的屬性(name、id、height等)。
優化
1)鏈接設備真機或者模擬器(真機可能沒法鏈接,我用的2.3,鏈接上了,沒讀到內容);spa
2)啓動你要觀察的應用。操作系統
3)打開Hierarchyviewer,點擊hierarchyviewer文件便可。鏈接後以下圖,這個圖是在官方文檔獲取的。.net
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對象是哪一個,這樣你就能快速肯定,要優先察看哪一個問題。
參考:
http://developer.android.com/tools/help/hierarchy-viewer.html