標籤:
1.必須用Chrome開啟
2.在mac電腦上,可能Chrome開啟也是空白,解決辦法是:在chrome地址欄中輸入”chrome:tracing”,然後點擊load按鈕load你的trace.html檔案。
Systrace簡單介紹
Systrace是Android4.1中新增的效能資料採樣和分析工具。它可協助開發人員收集Android關鍵子系統(如surfaceflinger、WindowManagerService等Framework部分關鍵模組、服務,View系統等)的運行資訊,從而協助開發人員更直觀的分析系統瓶頸,改進效能。
Systrace的功能包括跟蹤系統的I/O操作、核心工作隊列、CPU負載以及Android各個子系統的健全狀態等。在Android平台中,它主要由3部分組成:
- 核心部分:Systrace利用了Linux Kernel中的ftrace功能。所以,如果要使用Systrace的話,必須開啟kernel中和ftrace相關的模組。
- 資料擷取部分:Android定義了一個Trace類。應用程式可利用該類把統計資訊輸出給ftrace。同時,Android還有一個atrace程式,它可以從ftrace中讀取統計資訊然後交給資料分析工具來處理。
- 資料分析工具:Android提供一個systrace.py(python指令檔,位於Android SDK目錄/tools/systrace中,其內部將調用atrace程式)用來配置資料擷取的方式(如採集資料的標籤、輸出檔案名等)和收集ftrace統計資料並產生一個結果網頁檔案供使用者查看。 從本質上說,Systrace是對Linux Kernel中ftrace的封裝。應用進程需要利用Android提供的Trace類來使用Systrace.
關於Systrace的官方介紹和使用可以看這裡:Systrace
Systrace簡單使用
使用Systrace前,要先瞭解一下Systrace在各個平台上的使用方法,鑒於大家使用Eclipse和Android Studio的居多,所以直接摘抄官網關於這個的使用方法,不過不管是什麼工具,流程是一樣的:
- 手機準備好你要進行抓取的介面
- 點擊開始抓取(命令列的話就是開始執行命令)
- 手機上開始操作
- 設定好的時間到了之後,會將產生Trace檔案,使用Chrome將這個檔案開啟進行分析
Using Eclipse
In Eclipse, open an Android application project.
- Switch to the DDMS perspective, by selecting Window > Perspectives > DDMS.
- In the Devices tab, select the device on which to run a trace. If no devices are listed, make sure your device is connected via USB cable and that debugging is enabled on the device.
- Click the Systrace icon at the top of the Devices panel to configure tracing.
- Set the tracing options and click OK to start the trace.
Using Android Studio
In Android Studio, open an Android application project.
- Open the Device Monitor by selecting Tools > Android > Monitor.
- In the Devices tab, select the device on which to run a trace. If no devices are listed, make sure your device is connected via USB cable and that debugging is enabled on the device.
- Click the Systrace icon at the top of the Devices panel to configure tracing.
- Set the tracing options and click OK to start the trace.
Using Device Monitor
Navigate to your SDK tools/ directory.
- Run the monitor program.
- In the Devices tab, select the device on which to run a trace. If no devices are listed, make sure your device is connected via USB cable and that debugging is enabled on the device.
- Click the Systrace icon at the top of the Devices panel to configure tracing.
- Set the tracing options and click OK to start the trace.
Command Line Usage
命令列形式比較靈活,速度也比較快,一次性配置好之後,以後再使用的時候就會很快就出結果(強烈推薦)
12 |
$ cd android-sdk/platform-tools/systrace$ python systrace.py --time=10 -o mynewtrace.html sched gfx view wm |
從上面的命令可以看到Systrace工具的位置,只需要在Bash中配置好對應的路徑和Alias,使用起來還是很快速的。另外User版本是不可以抓Trace的,只有ENG版本或者Userdebug版本才可以。
抓取結束後,會產生對應的Trace檔案,注意這個檔案只能被Chrome開啟。關於如何分析Trace檔案,我們下面的章節會講。不論使用那種工具,在抓取之前都會讓選擇參數,下面說一下這些參數的意思:
我們一般會把這個命令配置成Alias,配置如下:
12 |
alias st-start=‘python /home/gaojianwu/Software/android-studio/sdk/platform-tools/systrace/systrace.py‘ alias st-start-gfx-trace = ‘st-start -t 8 gfx input view sched freq wm am hwui workq res dalvik sync disk load perf hal rs idle mmc’ |
這樣在使用的時候,可以直接敲 st-start-gfx-mx4 即可,當然為了區分和保持各個檔案,還需要加上 -o xxx.Trace .上面的命令和參數不必一次就理解,只需要記住如何簡單使用即可,在分析的過程中,這些東西都會慢慢熟悉的。
轉自:http://blog.csdn.net/hard_working1/article/details/50602345
Android效能最佳化之Systrace工具介紹(一) _&& Systrace產生的trace.html開啟空白或者打不開的解決辦法