日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

traceview使用总结

發布時間:2024/8/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 traceview使用总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

          • 1.traceview的用途
          • 2.生成trace文件的三種方式
            • (1)代碼生成
            • (2)使用android studio生成
            • (3)DDMS生成
          • 3.使用traceview打開trace文件
          • 4.分析trace文件

1.traceview的用途

traceview是Android sdk中的一個工具,用于分析計算性能,跟蹤方法耗時導致的卡頓問題。它將traceview文件轉為圖形,直觀的反應出代碼的執行時間、執行次數,便于我們分析。

2.生成trace文件的三種方式

trace文件是log文件的一種,可以通過代碼,也可以使用Android studio生成。

(1)代碼生成
//開始 trace,保存文件到 "/sdcard/homeFragment.trace" //高版本手機保存到"/sdcard/Android/data/packageName/files/homeFragment.trace" Debug.startMethodTracing("homeFragment"); // ... Debug.stopMethodTracing(); //結束

導出trace文件到電腦:
adb pull /sdcard/homeFragment.trace C:\Users\Admin\Desktop

若提示No such file,可能保存到sdcard/android 目錄下了:
adb pull /sdcard/Android/data/packageName/files/homeFragment.trace C:\Users\Admin\Desktop
packageName是應用的具體包名

(2)使用android studio生成

profile/cpu 下選擇記錄traceview

android studio對trace也做了可視化:包括各方法的執行時間和占比

(3)DDMS生成

DDSM 全稱 Dalvik Debug Monitor Server,是老版adt的調試工具。可生成trace后,查看。

3.使用traceview打開trace文件

新版Android stuido 中已移除了DDMS,這里我們使用traceview工具來查看trace文件信息。

工具目錄:androidsdk/tools/traceview.bat

But,打開該目錄后發現,新版sdk中已缺失traceview,我們可以下載一個traceview.bat文件放在該目錄下,命令行打開:
traceview C:\Users\Admin\Desktop\homeFragment.trace

提示報錯:

SWT folder '' does not exist. Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.

這是依賴庫缺失,下載一個老版的sdk/tools/lib,將它放到tools目錄下(合并lib)即可。

雖然提示deprecated,還是可以打開traceview。

4.分析trace文件

1.打開如下:

  • 上半部分展示了線程:
    • 不同顏色表示不同方法,顏色約長,執行時間越久。
  • 下半部分展示了方法的執行時間:
    • cpu time/call:該方法占用cpu的時間
    • Calls + Recur Calls/Total :調用、遞歸次數
    • Incl Cpu Time vs Excl Cpu Time:某方法占用的cpu時間,incl包含內部調用其他方法的時間,excl不包含

2.定位問題

  • 查看耗時的方法:點擊 cpu time/call ,按照時間倒序
  • 查看方法執行次數:點擊 Calls + Recur Calls/Total,按照次數倒序

排序后逐個排查項目代碼,進一步定位問題

3.案例
項目在每次啟動主頁時,耗時在1.5-2.5s,優化性能時,我們需要具體查看:

  • 哪些方法耗時

    結果:initView方法執行耗時,并將children方法列舉出來,我們可以逐步排查優化

  • 哪些方法執行次數過多:

結果:shareUtilUser.getString方法高頻執行,查看parents,發現是登錄信息,頻繁操作導致。跟蹤代碼,發現每次獲取登錄的某個信息,會將所有登錄相關的數據,都取出來了,因此這里就是我們需要優化的地方了。

PS:附上 traceview下載地址

總結

以上是生活随笔為你收集整理的traceview使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。