Android學習札記42:TraceView基礎篇

1、TraceView 的簡介

TraceView 是 AndroidSDK 裏面自帶的工具,用於對 Android 的應用程序以及 Framework 層的代碼進行性能分析。TraceView 是圖形化的工具,它最終會產生一個圖表,用於對性能分析進行說明,可以跟蹤到具體的 method。


2、TraceView 的原理

TraceView 通過修改 code ,在需要調試的起始位置加入調試函數,程序運行之後會在 SD 的根目錄下產生 *.trace 文件來保存運行時的數據,然後把 *.trace 文件考到 PC 機上,通過 traceview 命令對 *.trace 文件進行分析。


3、TraceView 的使用

使用 TraceView 的前提是無論手機或者模擬器,都要有 SD 卡的支持,因爲它產生的數據文件將會存到 SD 卡上。對於手機需要插入 SD 卡,對於模擬器需要在建立/啓動模擬器的時候加入 SD卡的支持就可以了。

要想 TraceView 起作用就必須在程序當中加入代碼,以便生成 *.trace 文件,有了這個 *.trace 文件纔可以將其轉化爲圖形。

要添加的代碼如下:

// start tracing to "/sdcard/yourActivityTrace.trace"
Debug.startMethodTracing("yourActivityTrace");

// stop tracing
Debug.stopMethodTracing();


Google Dev Guide 中說可以在 Activity 的 onCreate() 方法中添加 Debug.startMethodTracing(),而在 onDestroy() 方法中添加 Debug.stopMethodTracing(),但是在實際的測試中發現這種方式其實並不好用,因爲通常情況下我們Activity 中的 onDestroy() 方法是由系統決定何時調用的,因此可能等了很長時間都不會得到這個 *.trace 文件。因此決定在 onStop() 方法中來調用 Debug.stopMethodTracing()。這樣當我們切換到其它 Activity 或者點擊 Home 鍵的時候 onStop() 方法就會被調用,我們也就可以得到完整的 *.trace文件。


通過命令traceview *.trace對數據文件進行分析


在運行程序之前,首先要保證我們的 AVD 是一個帶有 SD Card 的 AVD,這樣才能使 trace 文件保存到 /sdcard/ 當中。運行後可以任意做一些操作,然後點擊 Home鍵。這時通過 DDMS File Explore 就可以看到 /sdcard/ 目錄下有一個 trace文件,現在把這個文件 copy 到電腦上指定的目錄,假設是C:\tracefile 目錄下。可以通過命令行來執行 TraceView,進入tools目錄後,執行

traceview C:\tracefile\yourActivityTrace.trace

之後就可以看到圖形了,接下來就是按照 Google Dev Guide 中的解釋去分析圖形就OK了。


參考資料:

http://blog.csdn.net/itachi85/article/details/6857324








發佈了42 篇原創文章 · 獲贊 5 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章