生活随笔
收集整理的這篇文章主要介紹了
TraceView 使用详解 android eclipse
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先看命令
(配置好環(huán)境變量的情況下,直接traceview+空格+ trace文件路徑即可):
?
TraceView是什么
Traceview是android平臺(tái)配備一個(gè)很好的性能分析的工具。它可以通過(guò)圖形化的方式讓我們了解我們要跟蹤的程序的性能,并且能具體到method。
Traceview的作用
1.?查看跟蹤代碼的執(zhí)行時(shí)間,分析哪些是耗時(shí)操作 ?
2.?可以用于跟蹤方法的調(diào)用,尤其是Android Framework層的方法調(diào)用關(guān)系
?
Traceview的使用步驟
分為以下三步:
1.?選擇追蹤范圍加入記錄代碼
2.利用tools下的工具trace view打開(kāi).trace文件
3.分析trace文件
1.?選擇追蹤范圍加入記錄代碼
首先,必須在程序當(dāng)中加入代碼,以便生成trace文件,有了這個(gè)trace文件才可以將其轉(zhuǎn)化為圖形。
要添加的代碼如下:
| 1 | Debug.startMethodTracing(“wirelessqa”);???//開(kāi)始 |
| 2 | Debug.stopMethodTracing();??//結(jié)束 |
?其中參數(shù)wirelessqa是要?jiǎng)?chuàng)建的trace文件的名稱,wirelessqa.trace。默認(rèn)路徑是/sdcard/wirelessqa.trace,也可以自己制定/data/log/wirelessqa,表示文件在/data/log/wirelessqa.trace。
?
實(shí)例代碼參考:
?
| 01 | publicclass MainActivity?extends?Activity { |
| 04 | ????protectedvoid onCreate(Bundle savedInstanceState) { |
| 05 | ????????super.onCreate(savedInstanceState); |
| 06 | ????????setContentView(R.layout.activity_main); |
| 07 | ????????setTitle(this.getClass().getName()); |
| 08 | ????????View toLoginView = findViewById(R.id.to_login); |
| 09 | ????????// 開(kāi)始記錄 sdcard/wirelessqa.trace文件 |
| 10 | ????????Debug.startMethodTracing("wirelessqa"); |
| 11 | ????????toLoginView.setOnClickListener(new?View.OnClickListener() { |
| 13 | ????????????publicvoid onClick(View view) { |
| 14 | ????????????????Intent intent =?new?Intent(getApplicationContext(), LoginActivity.class); |
| 15 | ????????????????startActivity(intent); |
| 21 | ????protectedvoid onStop() { |
| 22 | ????????super.onStop(); |
| 23 | ????????Debug.stopMethodTracing();// 結(jié)束記錄wirelessqa.trace |
?
說(shuō)明:
開(kāi)發(fā)文檔中說(shuō)可以在activity的onCreate()中添加Debug.startMethodTracing(), 而在onDestroy()中添加Debug.stopMethodTracing(),但是在實(shí)際的測(cè)試時(shí)發(fā)現(xiàn)這種方式其實(shí)并不好用,因?yàn)橥ǔG闆r下我們的activity的onDestroy()是由系統(tǒng)決定何時(shí)調(diào)用的,因此可能等了很長(zhǎng)時(shí)間都不會(huì)得到這個(gè)trace文件。
因此決定在onStop()中來(lái)調(diào)用Debug.stopMethodTracing()。這樣當(dāng)我們切換到其它activity或者點(diǎn)擊home鍵的時(shí)候onStop()就會(huì)被調(diào)用,我們也就可以得到完整的trace file。
?
別忘了加入訪問(wèn)SD卡的權(quán)限
| 1 | <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>??? |
| 2 | <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ? |
?
2.利用tools下的工具trace view打開(kāi).trace文件
?
?
3. 分析trace文件
總結(jié)
以上是生活随笔為你收集整理的TraceView 使用详解 android eclipse的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。