android DDMS method profiling 工具使用分析
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與總呼叫次數的比例。檢視每次呼叫的耗時,一般可通過簡單此項確定每個函式的效能。
相關文章
- [android]8大android除錯工具-monkey,jdb,ddms等Android除錯
- Mysql優化_內建profiling效能分析工具MySql優化
- Mysql使用Profiling分析語句消耗MySql
- android ddms裡邊看threadsAndroidthread
- Android Note - 使用構建分析工具Android
- Metasploit profiling工具的利用
- Ruby中的Profiling工具
- 正確使用Android效能分析工具——TraceViewAndroidView
- Android耗電分析之Battery Historian工具使用AndroidBAT
- pandas-profiling資料分析預覽
- android效能分析工具systraceAndroid
- Android記憶體洩露分析以及工具的使用Android記憶體洩露
- 用android連小米手機做profilingAndroid
- Android 效能分析工具之TraceViewAndroidView
- MySQL如何利用profiling分析SQL查詢語句MySql
- JUnit原始碼分析 (三)——Template Method模式原始碼模式
- Android原始碼分析相關工具Android原始碼
- Eclipse Hangs in DDMS post-create initEclipse
- Android 效能優化之旅3 記憶體分析工具的使用(下)Android優化記憶體
- java程式碼中init method和destroy method的三種使用方式Java
- perf效能分析工具使用分享
- Android App 優化之效能分析工具AndroidAPP優化
- Spring - lookup-method使用示例Spring
- 11 replace-method標籤使用
- 10 lookup-method標籤使用
- Profiling an Assembly Program
- 二、Android效能優化之記憶體洩露分析及工具使用Android優化記憶體洩露
- Android的ADB工具使用Android
- 方法引用(Method reference)和invokedynamic指令詳細分析
- JVM記憶體分析工具使用JVM記憶體
- Java Q&A: 使用Factory Method模式 (轉)Java模式
- MySQL profiling剖析SQLMySql
- Android除錯工具Genymotion的使用Android除錯
- Android Studio Profiler Memory (記憶體分析工具)的簡單使用及問題Android記憶體
- Android中Parcel的分析以及使用Android
- MySQL-09.效能分析工具的使用MySql
- Profiling Java Application with SystemtapJavaAPP
- 統計分析中不恰當method_opt使用可能造成執行計劃問題