Android利用DDMS性能調優(yōu)

前言:在android功能都開發(fā)完畢后,可以開始考慮優(yōu)化代碼。但要怎么入手呢?首先我們應該解決明顯的UI卡頓,其次可以考慮內存優(yōu)化等等。當然因為鄙人能力有限,有不到之處還請各位大神指教。

1.UI卡頓

UI卡頓的問題,我們可以利用ddms的traceview功能查看。



第一次點擊后,會彈出一個對話框,直接點擊確定,使用默認的即可.然后在界面上操作一下認為耗時的地方,在點擊一下帶紅點的按鈕.在IDE中就會出現(xiàn)traceview的視圖.

我們在

這一欄中找到CPU_time/call,點擊后排序.里面找我們自己的函數(shù),就能看到較耗時的操作,在進行優(yōu)化.

PS:如果已經(jīng)點擊紅點按鈕,界面操作無響應的話,多半是哪個地方ANR了,我們可以adb pull data/anr/* ?d:/ ? 拷貝出traces.txt文件 從而定位哪個函數(shù)在主線程進行了耗時操作.

2.堆內存泄漏

內存泄漏用IDE可點開紅框

若是沒有視圖窗口,則在IDE上方窗口選windows -->show view 里面找到heap

我們在heap界面,然后每五秒選擇gauge GC 若是heap size穩(wěn)定在一個數(shù)值則表示沒有內存泄漏的風險,若是heap size在不停的增大,則我們需要考慮創(chuàng)建對象的地方哪還值得優(yōu)化.可以百度 Android內存優(yōu)化.

>推薦使用LeakCancary,eclipse版本的jar包本地有,詳情私信

3.線程耗時


我們在設備列表中選中我們的包名,然后打開紅框的線程.在右側就能看到當前應用所有的線程,utime表示我們的線程執(zhí)行耗時,重點關注這個即可.

4.UI嵌套


點開這個按鈕需要手機有root權限,若是沒有的話,可在手機開發(fā)者選項中,打開GPU過度繪制,如果界面中紅色的區(qū)域較多,則這部分區(qū)域是我們需要優(yōu)化的

5.cpu占比

我們可在上述右側部位找到system info的窗口,點擊update后,即可看我們的應用瞬時占用的cpu比例.

todo : 如何分析各個函數(shù)占用cpu的比重

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容