歡迎光臨
每天分享高質量文章

這麼多性能優化工具,你都會了麽?

作者:ZHTo0

鏈接:https://www.jianshu.com/p/09cf6cff9457

這段時間總結了一些常用的性能優化工具,當然這些並沒有包含全部的工具,下麵稍微對這些工具做個簡單的總結:

1、應用codeReview工具

StrictMode

 

檢測應用主執行緒不規範代碼

https://www.jianshu.com/p/d4309061291b

Lint

 

AS中提供的代碼分析工具,它能夠檢查出代碼當中存在的問題,定義該問題的嚴重程度,並給出相應的解決方案,這樣我們就可以快速地定位和修複問題。

https://www.jianshu.com/p/4ebe5d502842

2、記憶體問題分析工具

2.1.明顯記憶體問題初篩

 

Allocation Tracker

 

查看堆記憶體分配情況,可以直接跳轉原始碼

https://www.jianshu.com/p/d8e994bfb382

Heap Viewer

 

查看堆記憶體分配資料,提供初步判斷

https://www.jianshu.com/p/5035745da456

dumpsys meminfo

 

詳細查看當前記憶體組成情況

https://www.jianshu.com/p/9edfe9d5eb34

Profiler

 

對cpu、 memory 、network進行更全面直觀的分析,屬於android monitor加強版

https://www.jianshu.com/p/596b2ef68342

 

Allocation Tracker 和 Heap Viewer兩者配合Memory monitor使用可定位一些比較明顯的記憶體泄漏、記憶體抖動等問題。

2.2.記憶體泄漏問題

 

MAT

 

優點:精確詳細分析,缺點:有一些門檻,且分析相對比較耗時耗力。

https://www.jianshu.com/p/97251691af88

LeakCanaray

 

優點:傻瓜式分析工具 缺點:無法檢測出Service的記憶體泄漏,無法檢測最底層的MainActivity

https://www.jianshu.com/p/70b8c87ea877

3、重覆佈局&過度繪製

除錯GPU過度繪製 & GPU呈現樣式

 

可以宏觀分析頁面問題

https://www.jianshu.com/p/a0e8575e9846

Layout Inspector

 

對視圖層次結構分析

https://www.jianshu.com/p/1b64024f2d08

4、卡頓掉幀

Systrace

 

可以給出整個系統的一些關鍵模塊的性能信息

https://www.jianshu.com/p/fa6cfad8ccc2

TraceView

 

擅長Method問題追蹤

https://www.jianshu.com/p/ac753e71d08d

Simpleperf

 

通過火焰圖,我們能非常直觀地看到性能的瓶頸

https://zhuanlan.zhihu.com/p/25277481

5、功耗問題

Battery Historain

分析電量、充電放電狀態、一段時間內的用戶使用行為、以及手機溫度等等

https://github.com/google/battery-historian

六、其他三方工具(有興趣可以去玩玩,在此不做分析了)

NetEase/Emmagee

frogermcs/AndroidDevMerics
……

最後想說的是,目前對工具的總結很多還只停留在初步使用階段,工具就是這樣的,越用越熟練。

另外筆者認為這些工具裡面,比較重要的也比較常用的工具是:MAT、TraceView、Systrace. 掌握好這些工具的使用,會幫助你更好地定位性能問題。

赞(0)

分享創造快樂