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效能調優詳解Android
- Linux之效能調優Linux
- 效能調優學習之硬體調優
- 效能調優命令之jstackJS
- solr研磨之效能調優Solr
- Oracle 效能調優工具:SQL MonitorOracleSQL
- Linux效能調優命令之freeLinux
- golang 效能調優分析工具 pprof(下)Golang
- golang 效能調優分析工具 pprof (上)Golang
- Android效能優化之佈局優化Android優化
- Android APP全方位效能調優之螢幕適配終結者AndroidAPP
- 六、Android效能優化之UI卡頓分析之渲染效能優化Android優化UI
- JVM效能調優,記憶體分析工具JVM記憶體
- Android 效能優化之記憶體優化Android優化記憶體
- Android效能優化篇之服務優化Android優化
- Android 效能優化(十二)之我為什麼寫效能優化Android優化
- Linux工具效能調優系列二:buffer和cacheLinux
- MySQL調優效能監控之show profileMySql
- MySQL調優效能監控之performance schemaMySqlORM
- (1)Linux效能調優之Linux程式管理Linux
- Android高階效能調優;不可思議的OOM!AndroidOOM
- Android效能調優;如何讓你的APK瘦身88%AndroidAPK
- Spark 效能調優--資源調優Spark
- iOS效能優化 - 工具Instruments之CoreAnimationiOS優化
- 【效能調優】效能測試、分析與調優基礎
- adnroid效能調優
- ElasticSearch效能調優Elasticsearch
- 效能測試之測試分析與調優
- Spark(十三) Spark效能調優之RDD持久化Spark持久化
- JVM調優之JConsole和JVisualVM工具使用JVMLVM
- iOS效能優化 - 工具Instruments之Time ProfileriOS優化
- Android效能優化Android優化
- 面試Tip之Android優化工具Systrace面試Android優化
- linux 效能調優工具perf + 火焰圖 常用命令Linux
- (3)Linux效能調優之Linux檔案系統Linux
- 效能監控調優
- .Net效能調優-MemoryPool
- .Net效能調優-ArrayPool