Android性能優化之工具篇

“哈哈,bug改完啦,準備準備上線了,好開心!”這句話簡直喜聞樂見,我自己也沒少說,但我想說的是,我們的App真的可以了麼?也許在我們沒有注意到的地方,還有許多問題在潛伏着,等待着上線後破土而出。出於求穩的目的,我用lint工具檢測了一番,炸了,5000+條需要優化的地方,哭的心都有了。所以這個故事告訴我們:永遠不要認爲自己的App沒毛病

言歸正傳,在上一篇博客中跟大家分享了AndroidUI優化中的佈局優化,今天就做一個補充。工欲善其事,必先利其器,想要做好Android優化,準備幾把好刀並不過分吧,接下來就跟大家分享下Android開發中UI優化相關的幾個利器。

The Android SDK includes a variety of tools that help you develop mobile applications for the Android platform. The tools are classified into two groups: SDK tools and platform tools. SDK tools are platform independent and are required no matter which Android platform you are developing on. Platform tools are customized to support the features of the latest Android platform.

以上是官方文檔中關於開發工具的概述,Android SDK包含了許多工具來幫助我們開發Android App,這些工具呢大概分爲兩類:SDK工具和平臺工具。SDK工具是獨立於平臺之外的,而平臺工具是爲了支持最新的Android開發平臺而定製的。

今天我們來看一下SDK工具中比較實用的有關UI優化的兩個開發工具,Hierarchy Viewer (hierarchyviewer)和lint

Hierarchy Viewer (hierarchyviewer)

概述

Hierarchy Viewer是我們的佈局文件的層級結構變的可見,並且在每一個節點標註此節點的性能相關的信息。通過此工具可以詳細的理解當前界面的控件佈局以及某個控件的屬性(name、id、height等)。同時,我們可以藉助Hierarchy Viewer學習別人優秀的佈局方式,也能更深入更全面更整體的把握xml佈局文件。

使用方法

1.連接設備真機或者模擬器;

2.啓動你要觀察的應用(真機可能無法連接,我用的小米4,連接上了,沒讀到內容,如下圖);

這裏寫圖片描述

3.Androidstudio中啓動Hierarchy Viewer的方式如圖所示

這裏寫圖片描述

然後點擊這裏寫圖片描述

選擇Hierarchy Viewer。

4.然後選中我們要查看的進程,等待加載完畢。

詳細說明

加載完成後效果如圖,這張圖是小火箭的界面的view樹。

觀察單個view,選擇單個view後會出現如下圖所示圖形。這裏會看到Measure、Layout、Draw的耗時。

這裏寫圖片描述

我們看一下官網對應的介紹

這裏寫圖片描述

看小火箭的view層級結構圖,35views表明這個framelayout下包含35個子控件了。而下方的帶顏色的三個圓圈指示燈,分別說明了在測量(measure)、佈局(layout)以及畫視圖(draw)三個階段,這個控件所佔用的時間百分比,如果是綠色的,表示該控件在該階段比起其他的50%的控件的速度要快,爲黃色的表示比起其他的50%的控件的速度要慢,爲紅色的則表示該控件在該階段的處理速度是最慢的。

要注意的是,在Hierarchy Viewer中,當修改了界面後,需要手工點Refresh按鈕,才能同步在Hierarchy Viewer中顯示更新過後的界面情況。

lint

概述

Android中的lint,是一個靜態代碼分析工具,它可以幫助我們檢測我們項目中的資源文件中的潛在bug,並且提供最優的改進方案。

The lint tool checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization. You can run lint from the command-line or from Android Studio.

通過看官方文檔我們瞭解到,lint可以幫我們做檢查資源文件,並且提高app的正確性,安全性,性能,實用性以及國際化等。我們可以通過命令行或者直接在Androidstudio中使用lint來掃描我們的app。

功能

1.佈局性能
2.未使用到資源
3.不一致的數組大小
4.國際化問題(硬編碼)
5.圖標的問題(重複的圖標,錯誤的大小)
6.可用性問題(如不指定的文本字段的輸入型)
7.manifest文件以及gradle文件的錯誤

在AndroidStudio中的使用

這裏寫圖片描述

如圖所示,找到Analyze,點擊Inspect Code,然後彈出一個選擇範圍的對話框

這裏寫圖片描述

這裏我們使用默認的整個工程。然後看下結果:

這裏寫圖片描述

左邊顯示的是檢測到的所有問題,點擊某個節點,右邊會顯示對應的詳細信息。比如我這張圖中顯示的是避免使用小於12sp的單位,因爲谷歌官方是不推薦使用小於12sp的單位的。

這裏只是簡單介紹下lint的應用,我們還可以在Androidstudio中設置link的偏好,配置lint.xml文件,配置lint檢測java和xml佈局文件。具體可以參照官方文檔操作,戳這裏。

參考連接:

http://developer.android.com/tools/debugging/debugging-ui.html
http://developer.android.com/tools/debugging/improving-w-lint.html

發佈了40 篇原創文章 · 獲贊 143 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章