爲了便於閱讀, 應邀將Android App性能優化系列, 轉移到掘金原創上來.
掘金的新出的"收藏集"功能能夠用來作系列文集了.html
第一篇 App性能測試和分析工具.android
先上個圖:git
本文暫不對工具的使用作過多的深刻.
在後續的具體實例中會具體說明怎麼用這些工具來達成分析目的和解決問題的.github
通常來講, 學習一門新的技術, 最應該作的就是閱讀其官方文檔, 那是最權威的.
Android自己給咱們提供了不少App性能測試和分析工具, 並且大部分都集成到Android Studio或DDMS中, 很是方便使用.瀏覽器
說明
顧名思義, "嚴格模式", 主要用來限制應用作一些不符合性能規範的事情. 通常用來檢測主線程中的耗 時操做和阻塞. 開啓StrictMode後, 若是線程中作一些諸如讀寫文件, 網絡訪問等操做, 將會在Log console輸出一些警告, 警告信息包含Stack Trace來顯示哪一個地方出了問題.性能優化
文檔網絡
做用eclipse
說明
Systrace是一個收集和檢測時間信息的工具, 它能顯示CPU和時間被消耗在哪兒了, 每一個進程和線程都在其CPU時間片內作了什麼事兒. 並且會指示哪一個地方出了問題, 以及給出Fix建議.
其以trace文件(html)的方式記錄. 能夠直接用Chrome瀏覽器打開查看. 界面以下:
工具
文檔佈局
做用
說明
Hierarchy Viewer提供了一個可視化的界面來觀測佈局的層級, 讓咱們能夠優化佈局層級, 刪除多餘的沒必要要的View層級, 提高佈局速度.
有必要說明下的是:
上圖紅框標出的三個點是關鍵分析數據. 左起依次表明View的Measure, Layout和Draw的性能. 另外顏色表示該View的該項時間指數, 分爲:
文檔
做用
Hierarchy Viewer須要Root的機器(產品機沒有開啓ViewServer)才能夠執行.
能夠使用第三方的開源的ViewServer來協助咱們在未Root的機器上使用Hierarchy Viewer分析.
說明
一個圖形化的工具, 用來展現和分析方法的執行時間.
文檔
做用
說明
內存使用檢測器, 能夠實時檢測當前Application的內存使用和釋放等信息, 並以圖形化界面展現.
文檔
做用
說明
Android Studio的Monitor還提供了其餘三個Motinor --- CPU, GPU, Network.
文檔
做用
Android的開發者模式中也提供了較多的用來監測性能的選項, 能夠用下:
如下工具所有開源, 開源萬歲...
說明
Google出品, 經過Android系統的bugreport文件來作電量使用分析的工具.
文檔
做用
說明
針對Android App的CPU, 內存, 網絡, 電量等多項綜合的測試分析.
文檔
做用
說明
Square出品, 必屬精品.
相似與App探針的內存泄露監測工具.
文檔
做用
說明
一個library, 用來檢測Activity生命週期執行性能, Dagger2注入性能以及幀率性能的工具.
文檔
做用
MAT沒有側重的提, 是由於這個工具在ADT時代比較經常使用, AS2.0以後, 自己的Memory Monitor愈來愈強大, 結合日益完善的第三方工具基本上能夠完成內存方面的優化了.
歡迎你們分享本身經常使用的App性能分析工具, 共同窗習~