Systrace工具

Systrace Walkthrough 
Systrace 
Analyzing UI Performance with Systrace 
Speed up your app

Systrace能做什麼?

  • 計算容器的性能
  • 發現性能的瓶頸

Systrace的使用準備

  • 4.1以上
  • root
  • Android SDK Tools 20
  • python環境

Systrace啓動

你可以通過命令行或者Device Monitor兩種方式收集Systrace信息,以下以命令行爲例介紹收集方式(因爲我Device Monitor的方式報錯)。 
首先進入sdk下的platform-tools/systrace目錄下: 
 
然後在命令下執行以下命令來收集數據: 
python systrace.py --time=10 -o mynewtrace.html sched gfx view wm

上面的參數–time爲間隔時間,-o爲文件名,更詳細的參數信息如下:

參數名 意義
-h,--help 幫助信息
-o <FILE> 保存的文件名
-t N,--time=N 多少秒內的數據,默認爲5秒,以當前時間點往後倒N個時間
-b N,--buf-size=N 單位爲千字節,限制數據大小
-k <KFUNCS> --ktrace=<KFUNCS> 追蹤特殊的方法
-l,--list-categories 設置追蹤的標籤
-a <APP_NAME>,--app=<APP_NAME> 包名
--from-file=<FROM_FILE> 創建報告的來源trace文件
-e <DEVICE_SERIAL>,--serial=<DEVICE_SERIAL> 設備號

其中標籤可選項如下:

標籤名 意義
gfx Graphics
input Input
view View
webview Webview
vm Window Manager
am Activity Manager
audio Audio
video Video
camera Camera
hal Hardware Modules
res Resource Loading
dalvik Dalvik VM
rs RenderScript
sched Cpu Scheduling
freq Cpu Frequency
membus Memory Bus Utilization
idle Cpu Idle
disk Disk input and output
load Cpu Load
sync Synchronization Manager
workq Kernel Workqueues

以上標籤並不支持所有機型,還有要想在輸出中看到任務的名稱,需要加上sched.

上面的命令執行完後,會生成一個html文件: 
 
打開該文件後,我們會看到如下頁面: 

systrace快捷鍵

快捷鍵 作用
w 放大
s 縮小
a 左移
d 右移
f 返回選中區域,切放大選中區域

Alerts

Alerts一欄標記了以下性能有問題的點,你可以點擊該點查看詳細信息,右邊側邊欄還有一個Alerts框,點擊可以查看每個類型的Alerts的數量:

Frame

在每個包下都有Frame一欄,該欄中都有一個一個的F代表每一個Frame,用顏色來代表性能的好壞,依次爲綠-黃-紅(性能越來越差),點擊某一個F,會顯示該Frame繪製過程中的一些Alerts信息: 

如果你想查看Frame的耗時,可以點擊某個F標誌,然後按m鍵: 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章