Android效能調優工具之 TraceView
從1月份Google釋出的16個關於效能優化的系列視訊起,這段時間在各大社群都有看到很多優秀的關於優化系列的文章。有分析了效能產生的原因、有分享如何優化我們的應用、有介紹有哪些工具可以幫助我們檢測效能問題。
其中 在關於一些系統效能調優工具裡有介紹到工具之一:TraceView
TraceView 是 Android 平臺配備一個很好的效能分析的工具。它可以通過圖形化的方式讓我們瞭解我們要跟蹤的程式的效能,並且能具體到某個函式方法method的執行耗時時間。因為小呂之前確實沒有使用過該工具、所以這兩天也自己試玩了一把、將該工具的簡單使用操作做個簡單的圖文介紹。也希望在以後的工作當中要重視該工具的使用、利用好該工具。
一、如何使用該工具 採集資料
1、第一種使用方式
① 在你需要調式的程式碼片段首尾分別新增程式碼
Debug.startMethodTracing("traceView");
Debug.stopMethodTracing();
如 我們想要對MainActivity的onCreate() 和 onDestory() 方法之間做跟蹤,程式碼可如下:public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* 將在SD卡根目錄生成資料效能採集檔案 traceView.trace
* 注意:
* 1、一定要在有SD卡的除錯手機或模擬器上使用
* 2、新增SD卡訪問讀寫許可權:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
*/
Debug.startMethodTracing("traceView");
}
@Override
protected void onStart() {
super.onStart();
Debug.stopMethodTracing();
}
} <span style="font-family: 'Comic Sans MS'; background-color: rgb(255, 255, 255);"> </span>
②、當程式執行過上面的程式碼之後 便會在你的手機或模擬器的SD卡根目錄生成檔案 traceView.trace, 如下圖:③、在正式使用traceview工具分析資料前,我們使用adb命令將SD卡根目錄下的traceView.trace檔案匯出到我們的本地電腦中,adb命令如下:
如上命令 我將.trace檔案匯出在我的電腦C:\tmp下 如圖:
④、在{sdk}/tools/目錄下 找到我們的工具traceview.bat、雙擊執行他吧, 會有如下顯示:
提示我們使用 Android Device Monitor<tools/monitor> 。
⑤、但是我們執行如下命令: traceview xxx.trace, 使用traceview去訪問執行.trace檔案
一夥出現效果如下:
根據之前命令的提示:
這裡我們也可以使用執行Android Device Monitor<tools/monitor>工具 出現如下介面
在該介面中 我們可以通過 file--> open file 開啟之前匯出的.trace檔案,這時將會看到同樣的效果:
到此 我們便完成了資料的採集與使用traceview工具將資料做了圖形化展示
2、第二種使用方式
相對第一種方式 這種要簡單很多
通過選擇 Devices 中的應用後點選按鈕 Start Method Profiling(開啟方法分析)和點選 Stop Method Profiling(停止方法分析) 如圖:
當停止採集時,DDMS會自動觸發Traceview工具來瀏覽採集資料
二、如何使用該工具 分析資料
當看到圖形化的trace資料後、我們要知道如何看懂上面的資料、以做出正確的分析、最後在分析中查詢效能上的問題、最終從程式碼上解決問題。
這部分主要包括:
1、TraceView工具皮膚的掌握,分析皮膚每列待辦的含義 如:Name、 Incl Cpu Time、 Excl Cpu Time、 Incl Real Time等。
2、如何去定位分析我們要監視的具體方法(通過TraceView底部的find來查詢)。
3、如何去定位那些耗時(導致效能問題)的方法(篩選出方法耗時排行的時間 如:Incl Cpu Time列、Cpu Time/Call列)。
4、最後根據找出效能上有缺陷的具體方法、去做程式碼上的優化。
這裡的內容遠遠超過上面關於 工具資料採集的使用介紹,小呂也剛好在網上有收集到兩篇優秀的關於TraceView工具的使用介紹:
1、Android系統效能調優工具介紹:http://blog.csdn.net/innost/article/details/9008691
2、Android程式設計下的TraceView簡介及其案例實戰:http://www.cnblogs.com/sunzn/p/3192231.html
三、其他
關於Android的調優工具除了TraceView外、還有Overdraw,Systrace,StrictMode,Hierarchy Viewer等。
英文能力不錯的就上Google官網咖:http://developer.android.com/tools/debugging/debugging-tracing.html
相關文章
- Android 效能分析工具之TraceViewAndroidView
- [Android]效能之traceview使用AndroidView
- 效能優化工具知識梳理(1) TraceView優化View
- 正確使用Android效能分析工具——TraceViewAndroidView
- [Traceview]android效能測試ViewAndroid
- Android系統效能調優工具介紹Android
- Android App 優化之效能分析工具AndroidAPP優化
- android效能調優詳解Android
- visualvm 效能調優工具LVM
- MongoDB的效能調優工具 -- DexMongoDB
- 轉:Exp/Imp工具效能調優
- TraceView工具的使用View
- golang 效能調優分析工具 pprof (上)Golang
- golang 效能調優分析工具 pprof(下)Golang
- 效能調優命令之jstackJS
- Linux系統效能調優之效能分析Linux
- JVM效能調優,記憶體分析工具JVM記憶體
- Linux效能調優命令之freeLinux
- Android效能優化篇之計算效能優化Android優化
- 六、Android效能優化之UI卡頓分析之渲染效能優化Android優化UI
- Oracle資料庫 Exp/Imp工具效能調優Oracle資料庫
- MySQL調優效能監控之show profileMySql
- MySQL調優效能監控之performance schemaMySqlORM
- iOS效能調優之Analyze靜態分析iOS
- Oracle效能調優之FreeList和HWMOracle
- Oracle效能調優 之FreeList和HWMOracle
- Spark 效能調優--資源調優Spark
- Spark 效能調優--Shuffle調優 SortShuffleManagerSpark
- Android APP全方位效能調優之螢幕適配終結者AndroidAPP
- Android效能優化之佈局優化Android優化
- 【效能調優】效能測試、分析與調優基礎
- oracle筆記整理13——效能調優之SQL優化Oracle筆記SQL優化
- 十四、Android效能優化之ServiceAndroid優化
- Android效能優化之渲染篇Android優化
- ElasticSearch效能調優Elasticsearch
- Nginx 效能調優Nginx
- iOS效能調優iOS
- php效能調優PHP