值得推薦的Android應用性能檢測工具列表
作者:張明云
鏈接:http://zhuanlan.zhihu.com/zmywly8866/20416881
來源:知乎
鏈接:http://zhuanlan.zhihu.com/zmywly8866/20416881
來源:知乎
最近這段時間一直在做android應用的性能優化,一個應用性能的好壞并不能依靠我們的主觀意識去評判,必須要看數據說話,因此必須要了解和學會使用各種性能測試工具才知道問題出在哪以及具體的優化方向。下面對我對性能優化的理解以及在性能優化過程中使用到的一些工具作個介紹。
零 性能指標
Android的應用性能的指標主要有:- 布局復雜度:布局復雜會導致布局需要更長的時間,從而導致進入應用慢、頁面切換慢;
- 耗電量:耗電量大會導致機器發熱、縮短機器的有效使用時長;
- 內存:內存消耗大會導致頻繁GC,GC時會暫停其它工作,導致頁面卡頓;內存泄露會導致剩余可用內存越來越小;內存不足會導致應用異常;
- 網絡:頻繁的網絡訪問會導致耗電和影響應用的性能;網絡交互數據大小會影響網絡傳輸的效率;
- 程序執行效率:糟糕的代碼會嚴重影響程序的運行效率,UI線程過多的任務會阻塞應用的正常運行,長時間持有某個對象會導致潛在的內存泄露,頻繁的IO操作、網絡操作而不用緩存會嚴重影響程序的運行效率。
一 Android官方性能優化工具介紹
android針對上面這些會影響到應用性能的情況提供了一些列的工具:
1 布局復雜度:
- hierarchyviewer:檢測布局復雜度,各視圖的布局耗時情況:

- Android開發者模式—GPU過渡繪制:

2 耗電量:Android開發者模式中的電量統計;
3 內存:
- 應用運行時內存使用情況查看:Android Studio—Memory/CPU/GPU;

- 內存泄露檢測工具:DDMS—MAT;
4 網絡:Android Studio—NetWork;
5 程序執行效率:
- 靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用于檢測代碼中潛在的問題、存在效率問題的代碼段并提供改善方案;
- DDMS—TraceView,用于查找程序運行時具體耗時在哪;
- StrictMode:用于查找程序運行時具體耗時在哪,需要集成到代碼中;
- Andorid開發者模式—GPU呈現模式分析。
6 程序穩定性:monkey,通過monkey對程序在提交測試前做自測,可以檢測出明顯的導致程序不穩定的問題,執行monkey只需要一行命令,提交測試前跑一次可以避免應用剛提交就被打回的問題。
說明:
- 上面提到的這些工具可以進Android開發者官網性能工具介紹查看每個工具的介紹和使用說明;
- Android開發者選項中有很多測試應用性能的工具,對應用性能的檢測非常有幫助,具體可以查看:All about your phone's developer options和15個必知的Android開發者選項對Android開發者選項中每一項的介紹;
- 針對Android應用性能的優化,Google官方提供了一系列的性能優化視頻教程,對應用性能優化具有非常好的指導作用,具體可以查看:優酷Google Developers或者Android Performance Patterns。
二 第三方性能優化工具介紹
除了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:百度一位開發者寫的幀率測試工具,需要集成到應用中才可查看:
三 應用性能優化資料推薦
本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!