android DDMS method profiling 工具使用分析

very_on發表於2018-05-14

Eclipse DDMS 試圖的devices--start method profiling 該選項用來對指定APP內部的具體方法的效能進行分析;

”method profiling“ 點選執行後,圖示右上角加了一個”灰色的點點“;

開啟後選擇自己要檢測的APP 報名,即可測試,啟動APP選擇具體的頁面;如果要精確跟蹤APP內部的某個子頁面,可以先啟動APP,然後點選”method profiling“的啟動按鈕,就可精確分析APP內部具體的某個子頁面;


啟動”method profiling“ 按鈕的截圖;


形式執行後的效果圖;

常用欄位的屬性說明如下:

列名                           描述
Name                        該執行緒執行過程中所呼叫的函式名
Incle Cpu Time        某函式佔用的CPU時間,包含內部呼叫其他函式的CPU時間
Excl Cpu  Time        某函式佔用的CPU時間,但不含內部呼叫其他函式所佔用的CPU時間
Incl Real Time         某函式執行的真實時間,含呼叫其他函式所佔用的真實時間
Excl Real Time        某函式執行的真實時間,不含呼叫其他函式所佔用的真實時間
Call +Recur Calls/Total 某函式被呼叫次數以及遞迴呼叫佔總呼叫次數的百分比
Cpu Time/Call        某函式呼叫CPU時間與呼叫次數的比,相當於該函式平均執行時間
Real Time/Call       某函式呼叫CPU的真實時間;



TraceView介面資訊介紹
TraceView介面包括時間皮膚和方法皮膚
(1) 時間皮膚(Timeline Panel)
時間皮膚展示了每個執行緒的執行情況,其中的[1]main即為ui主執行緒。
移動到某個位置可以檢視該點對應的方法的執行資訊,點選方法皮膚則會選中相應的方法。
可以左鍵按住不放選中區域放大區域性精細檢視,不同方法用不同顏色標註


 


(2) 方法皮膚(Profile Panel)
方法皮膚展示了所有方法的執行情況,點選某個方法可以檢視在對應執行緒上的執行時間區域,並會顯示其父方法及子方法。
每個方法包括如下資訊列,可點選某列進行排序,從而確定產生效能問題的函式:
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與總呼叫次數的比例。檢視每次呼叫的耗時,一般可通過簡單此項確定每個函式的效能。

文章標籤: androidprofiling效能app

相關文章