溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

app性能測試之TraceView

發布時間:2020-07-31 01:19:53 來源:網絡 閱讀:699 作者:流光漏洞 欄目:軟件技術

一、介紹 

 TraceView是一款性能分析工具,可以進行數據采集和分析,可以以圖形化的方式讓我們了解要跟蹤的程序并且能得到相關method。本文只講解在app啟動時候TraceView的功能,當然,對于app運行過程中出現的卡頓,延遲現象,也可以進行分析。

  TraceView主要是分析方法的運行時間以及被調用的次數,在app啟動過程中,如果方法花費的時間過長,超過了繪制屏幕第一幀的時間(16ms),就會出現卡頓、甚至ANR(no response)等問題。

  TraceView采集數據有兩種方法,一種是通過調用debug類,在你要跟蹤的地方調用Debug.startMethodTracing方法,結束的地方再次調用即可(此處不作重點介紹);還有一種方法是直接通過DDMS里面的start method profiling實現(對于冷啟動無法采集)


二、實例講解

   現在開始講start method profiling方法。

  如圖,在DDMS里面選擇進程(冷啟動無進程可選,所以只能檢查熱啟動(進程還在,只需啟動mainactivity)),點擊start method profiling。

  app性能測試之TraceView

 然后彈出的分析方式里面選擇默認方式,點擊ok

  app性能測試之TraceView

 start method profiling此時變黑,表示正在采集,執行相關app操作,然后再次點擊start method profiling此時變紅,接著彈出如圖采集到的信息

 app性能測試之TraceView

時間面板


時間面板展示了每個線程的執行情況,其中的[1]main即為ui主線程。

移動到某個位置可以查看該點對應的方法的執行信息,點擊方法面板則會選中相應的方法。

可以左鍵按住不放選中區域放大局部精細查看,不同方法用不同顏色標注

方法面板:

 

方法面板展示了所有方法的執行情況,點擊某個方法可以查看在對應線程上的執行時間區域,并會顯示其父方法及子方法。

每個方法包括如下信息列,可點擊某列進行排序,從而確定產生性能問題的函數:

Incl Cpu Time, Excl Cpu Time, Incl Real Time, Excl Real Time, Incl Cpu Time%, Excl Cpu Time%, Incl Real Time%, Excl Real Time%, Calls+RecurCalls/Total, Cpu Time/Call, Real Time/Call

所有的Time都是以毫秒計算。每列具體含義及作用如下:

a. Incl表示將所有子函數耗時也計算在內,Excl則表示不包括子函數的調用時間。對比可以確定耗時操作發生是自身還是子函數中。

b. Cpu Time表示占用cpu執行的時間,Real Time包括Cpu Time以及等待、切換的時間等,所以一般都大于Cpu Time。對比可以判斷耗時操作是否在cpu執行段內。

c. 上面四個指標對應的%表示函數在總時間的占比。方便查看某個函數的時間占比。

d. Calls+RecurCalls/Total表示被外部調用次數+遞歸次數/總次數??梢圆榭凑{用次數是否符合自己預期。

e. Cpu Time/Call, Real Time/Call表示總的Cpu Time及Real Time與總調用次數的比例。查看每次調用的耗時,一般可通過簡單此項確定每個函數的性能。

 來張圖更直觀

  app性能測試之TraceView

app性能測試之TraceView

測試方法:

 找出圖中執行時間及調用次數多的方法,進行優化

 可參考此http://www.cnblogs.com/sunzn/p/3192231.html和https://www.youtube.com/watch?v=gk2G_FAESds&list=PLaYqF7AnyNPcllCrHZFNQrjGTPO8gCb28&index=66

  

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女