安卓性能调优工具简介(转)
Traceview?
Traceview是執行日志的圖形查看器。這些日志通過使用Debug類記錄。 Traceview可以幫助調試應用和profile性能。
Traceview布局
Traceview可以加載trac日志文件(通過添加跟蹤代碼添加到應用或由DDMS生成)。TraceView的界面分為兩部分,上面是時間線面板(Time Panel),描述了當每個線程和方法的啟動和停止時間。下面是profile面板,概述方法所做的事情,如下圖所示:
時間線面板:
profile面板:
?
生成跟蹤日志
有兩種方法可以生成跟蹤日志:
在代碼中包含Debug類并調用其方法,如startMethodTracing()和stopMethodTracing(),這種方法很精確。
使用DDMS的profile分析功能來生成跟蹤日志。不太準確,不能夠訪問應用程序的代碼或不需要精確的記錄時間時使用。
注意:如果使用Debug類,應用程序必須具有外部存儲的寫權限(WRITE_EXTERNAL_STORAG??E)。
| 1 2 3 4 5 | // start tracing to "/sdcard/calc.trace" Debug.startMethodTracing("calc"); // ... // stop tracing Debug.stopMethodTracing(); |
應用調用startMethodTracing()時,系統會創建<trace-base-name>.trace文件。這包含二進制方法跟蹤數據和線程及方法名映射表。
然后系統開始緩沖生成的跟蹤數據,直到應用程序調用stopMethodTracing(),此時將其緩沖的數據寫入到輸出文件中。如果系統調用stopMethodTracing前達到最大緩沖器大小,系統停止trace并發送通知給控制臺。
開啟profile時,解釋的代碼運行速度會較慢,并不代表實際執行速度。
在Android的4.4和更高版本,取樣會減少性能影響。使用startMethodTracingSampling()即可,停止依舊使用stopMethodTracing()。
執行實例:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | C:\Users\Administrator>adb pull?/mnt/sdcard/tc.trace?/tmp/tc.trace C:\Users\Administrator>adb shell am start?-n com.mamlambo.article.simplecalc/.MainActivity Starting: Intent {?cmp=com.mamlambo.article.simplecalc/.MainActivity } C:\Users\Administrator>adb shell am profile com.mamlambo.article.simplecalc start?/mnt/sdcard/tc.trace C:\Users\Administrator>adb shell am profile com.mamlambo.article.simplecalc stop C:\Users\Administrator>adb pull?/mnt/sdcard/tc.trace?/tmp/tc.trace 1352?KB/s (2429326?bytes?in?1.754s) C:\Users\Administrator>traceview c:\tmp\tc.trace The standalone version of traceview?is?deprecated. Please use Android Device Monitor (tools/monitor) instead. |
注意:若出現mkdir failed for img Read-only file system,在執行 adb shell 命令后執行mount -o remount ,rw /即可
?
http://www.cnblogs.com/pythontesting/p/4935451.html
轉載于:https://www.cnblogs.com/softidea/p/4935603.html
總結
以上是生活随笔為你收集整理的安卓性能调优工具简介(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言学习之基础知识点介绍(十二):结构
- 下一篇: type lambda