值得推薦的Android應用性能檢測工具列表(轉)

值得推薦的Android應用性能檢測工具列表

張明雲 · 8 個月前html

最近這段時間一直在作android應用的性能優化,一個應用性能的好壞並不能依靠咱們的主觀意識去評判,必需要看數聽說話,所以必需要了解和學會使用各類性能測試工具才知道問題出在哪以及具體的優化方向。下面對我對性能優化的理解以及在性能優化過程當中使用到的一些工具做個介紹。android

零 性能指標git

Android的應用性能的指標主要有:github

  • 佈局複雜度:佈局複雜會致使佈局須要更長的時間,從而致使進入應用慢、頁面切換慢;
  • 耗電量:耗電量大會致使機器發熱、縮短機器的有效使用時長;
  • 內存:內存消耗大會致使頻繁GC,GC時會暫停其它工做,致使頁面卡頓;內存泄露會致使剩餘可用內存愈來愈小;內存不足會致使應用異常;
  • 網絡:頻繁的網絡訪問會致使耗電和影響應用的性能;網絡交互數據大小會影響網絡傳輸的效率;
  • 程序執行效率:糟糕的代碼會嚴重影響程序的運行效率,UI線程過多的任務會阻塞應用的正常運行,長時間持有某個對象會致使潛在的內存泄露,頻繁的IO操做、網絡操做而不用緩存會嚴重影響程序的運行效率。

一 Android官方性能優化工具介紹緩存

android針對上面這些會影響到應用性能的狀況提供了一些列的工具:性能優化

1 佈局複雜度:網絡

  • hierarchyviewer:檢測佈局複雜度,各視圖的佈局耗時狀況:

  • Android開發者模式—GPU過渡繪製:

2 耗電量:Android開發者模式中的電量統計;工具

3 內存:佈局

  • 應用運行時內存使用狀況查看:Android Studio—Memory/CPU/GPU;

  • 內存泄露檢測工具:DDMS—MAT;

4 網絡:Android Studio—NetWork;post

5 程序執行效率:

  • 靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用於檢測代碼中潛在的問題、存在效率問題的代碼段並提供改善方案;
  • DDMS—TraceView,用於查找程序運行時具體耗時在哪;
  • StrictMode:用於查找程序運行時具體耗時在哪,須要集成到代碼中;
  • Andorid開發者模式—GPU呈現模式分析。

6 程序穩定性:monkey,經過monkey對程序在提交測試前作自測,能夠檢測出明顯的致使程序不穩定的問題,執行monkey只須要一行命令,提交測試前跑一次能夠避免應用剛提交就被打回的問題。

說明:

二 第三方性能優化工具介紹

除了android官方提供的一系列性能檢測工具,還有不少優秀的第三方性能檢測工具使用起來更方便,好比對內存泄露的檢測,使用leakcanry比MAT更人性化,可以快速查到具體是哪存在內存泄露。

  • leakcanary:square/leakcanary · GitHub,經過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,並在頁面中顯示,在應用中集成leancanry後,程序運行時會存在卡頓的狀況,這個是正常的,由於leancanry就是經過gc操做來檢測內存泄露的,gc會知道應用卡頓,說明文檔:LeakCanary 中文使用說明LeakCanary: 讓內存泄露無所遁形
  • GT:GT Home,GT是騰訊開發的一款APP的隨身調測平臺,利用GT,能夠對CPU、內存、流量、點亮、幀率/流暢度進行測試,還能夠查看開發日誌、crash日誌、抓取網絡數據包、APP內部參數調試、真機代碼耗時統計等等,須要說明的是,應用須要集成GT的sdk後,GT這個apk才能在應用運行時對各個性能進行檢測。
  • iTest:iTest,業內獨創的Android自動化性能監控工具,它可以記錄特定應用的性能消耗狀況,包括cpu、內存、流量、電量等信息,支持浮窗實時查看應用的具體信息,iTest不須要集成sdk到應用中,在itest中選中須要測試的應用便可進行測試;
  • Emmagee:Emmagee下載NetEase/Emmagee · GitHub,網易開發的性能檢測工具,Emmage和iTest同樣,不須要在應用中集成sdk,可以對應用的經常使用性能指標進行檢測,並以csv的格式保存方便查看應用的各項參數;
  • APT:Tencent/apt | CODE,騰訊出的,暫時還沒使用過,沒法評價。
  • FPSService:百度一位開發者寫的幀率測試工具,須要集成到應用中才可查看:

三 應用性能優化資料推薦

相關文章
相關標籤/搜索