TraceView 的使用
TraceView 的使用
TraceView 簡介
TraceView 是 Android 平臺特有的數據采集和分析工具,它主要用于分析 Android 中應用程序的 hotspot,對java層代碼以及framework層代碼進行分析。(native方法無法直接分析)
TraceView 本身只是一個數據分析工具,而數據的采集則需要使用 Android SDK 中的 Debug 類或者利用 DDMS 工具。
官方文檔地址:
TraceView 的生成
traceview的使用方法有兩種:
在一些關鍵代碼段開始前調用 Android SDK 中 Debug 類的 startMethodTracing 函數,并在關鍵代碼段結束前調用 stopMethodTracing 函數。這兩個函數運行過程中將采集運行時間內該應用所有線程(注意,只能是 Java 線程)的函數執行情況,并將采集數據保存到 /mnt/sdcard/ 下的一個文件中。
DDMS 中 TraceView 使用示意圖如下,通過選擇 Devices 中的應用后點擊
按鈕 Start Method Profiling(開啟方法分析)和點擊Stop Method Profiling(停止方法分析)
開啟方法分析后對應用的目標頁面進行測試操作,測試完畢后停止方法分析,界面會跳轉到 DDMS 的 trace 分析界面
###TraceView 的分析
一. 通過AndroidStudio 打開trace文件,展示的界面如下:
將方法調用順序可視化,方法執行的時間也可視化了。
tips:Android studio 打開后,面板中文字特別小,此時可以通過放大鏡來查看。(Mac 快捷鍵:option + command + 8)
二. 通過ADM打開trace文件,展示的界面如下:
TraceView 界面比較復雜,其 UI 劃分為上下兩個面板,即 Timeline Panel(時間線面板)和 Profile Panel(分析面板)。上圖中的上半部分為 Timeline Panel(時間線面板),Timeline Panel 又可細分為左右兩個 Pane:
舉個例子:
private void init(){a();b();c();d();for(int i=0;i<100;i++){System.out.print("i = " + i);} }###TraceView 的實踐
先通過TraceView找到 hotspot,一般hopspot函數有以下兩種:
舉個例子:
如上圖,獲取sharedPreference 耗時很嚴重,阻塞主線程,將該操作拋到異步線程。
###總結
性能優化就像海綿中的水,擠一擠總會有的。同時,性能優化并不是一勞永逸的工作,而是一個漫長而具有挑戰的任務;項目的各個階段都會有性能上的問題,在用戶體驗的基礎上持續進行打磨,持續保持產品的良好性能才能贏得好口碑。(和保持身體健康是一個道理)
總結
以上是生活随笔為你收集整理的TraceView 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PropertyUtils.copyPr
- 下一篇: 第四届“传智杯”全国大学生IT技能大赛(