- trance view。
a、打開 androd stuido -> tools -> android device Monitor (DDMS)。
b、在 DDMS中 選擇進程啓動 start method profiling(trace view) 見下圖:
c、啓動停止之後,則如下圖所示:
如上圖所示,在 trance view 中根據 以下3部分來定位需要優化的地方:
- Cpu Time/Call :該方法平均佔用 CPU 的時間
- Real Time/Call :平均執行時間,包括切換、阻塞的時間
- Cpu Time Calls + Recur Calls/Total :調用、遞歸次數
根據CPU的消耗時間 和 函數調用次數,可以確定需要優化的位置,如以上截圖所示。
d、定位問題時 TraceView 的使用方式:
- 從上半部分查看哪些線程執行時間長?什麼時候開始執行?與主線程交錯時間?
- 哪些方法的執行需要花費很長時間
點擊 TraceView 中的 Cpu Time/Call,按照佔用 CPU 時間從高到低排序 - 哪些方法調用次數非常頻繁
點擊 TraceView 中的 Calls + Recur Calls/Total ,按照調用次數從高到底排序
TraceView 的使用場景:
在發現某個頁面或者操作會卡頓時,可以使用 TraceView 定位問題代碼。
比如啓動,加載圖片列表卡頓等情況。
2、dump view hierarchy。
- dump view 可以清晰的知道 View的層次結構,可以根據本層次結構考慮優化方式,儘可能的減少佈局的層次結構。