Android 除錯工具及方法(二)

2021-08-31 19:52:16 字數 1979 閱讀 9633

裝置上除錯和測試的設定

android提供了眾多的設定使你可以更容易的除錯和測試程式.要進入開發設定頁面,在模擬器中轉到dev tools > development settings.在該設定頁面有以下選項:

在除錯的時候,如果你在乙個斷點處暫停了過長的時間,這個設定會防止android丟擲乙個錯誤

這個設定使你可以選擇「等待偵錯程式」選項,使程式只有在偵錯程式關聯上之後才啟動

wait for debugger:阻塞所選的程式的載入直到有偵錯程式關聯上,這樣你就可以在oncreate()中設定斷點,這對於除錯乙個activity的啟動程序是非常重要的.當你對該選項進行了更改,任何正在執行的程式的例項都會被終止.你只有在上面的選項中選擇了乙個除錯程式才能夠選中該選項.你也可以在**中新增waitfordebugger()來實現同樣的功能.

immediately destroy activities:告訴系統一旦乙個activity停止了就銷毀該activity(例如當android釋放記憶體的時候).這對於測試**onfreeze(bundle)/oncreate(android.os.bundle)是非常有用的,否則會比較困難.如果你的程式沒有儲存狀態,那麼選擇這個選項很可能會引發很多問題.

show screen updates:對於任何正在被重繪的screen sections都會在其上閃現乙個粉紅色的矩形.這對於發現不必要的screen繪製是很有必要的.

show cpu usage:在螢幕上方顯示cpu資訊,顯示有多少cpu資源正在被使用.上方紅色條顯示總的cpu使用率,它下方綠色的條顯示cpu用在compositing the screen上的時間.注意:在沒有重啟模擬器之前,一旦你開啟了該功能就不能關閉.

show screen fps:顯示當前的幀率.這對於檢視遊戲達到的總的幀率是非常有用的.注意:在沒有重啟模擬器之前,一旦你開啟了該功能就不能關閉.

show background:當沒有activity screens可見時,顯示乙個背景模式.一般是不會出現的,僅僅在debug的時候會出現.

設定的選項在模擬器重啟之後仍然有效,如果要取消設定的選項,在取消設定以後還要重啟模擬器,才能生效.

重要的除錯小提示

快速的堆疊dump

要在模擬器上獲得乙個堆疊dump,你可以通過adb shell登入,用「ps」找到你想要的程序,然後「kill -3」,

堆疊跟蹤資訊就會記錄到日誌檔案中了.

在模擬器螢幕上顯示有用資訊

裝置上可以顯示諸如cpu利用率或者對重繪區域的邊緣高亮顯示等有用資訊,在開發設定視窗可以開啟或者關閉這些功能.

從模擬器上獲取系統狀態資訊(dumpstate)

你可以通過dalvik debug monitor service工具來獲得dumpstate資訊.

從模擬器上獲取程式狀態資訊(dumpsys)

你可以通過dalvik debug monitor service工具來獲得dumpsys資訊.

獲取無線連線資訊

你可以通過dalvik debug monitor service工具來獲得無線連線資訊.在device選單,選擇「dump radio state」

日誌記錄跟蹤資料

你可以在乙個activity中通過呼叫android.os.debug.startmethodtracing()來用日誌來記錄方法呼叫和其他跟蹤資料.

日誌記錄radio data

預設情況下,radio資訊是不會記錄在系統中的(因為資料量巨大).然而,你可以通過下面的命令來開啟radio記錄

adb shell

logcat -b radio

執行adb

andoid中自帶了乙個叫adb的工具,該工具功能強大,可以移動並同步檔案到模擬器,**埠.在模擬器上執行乙個unix shell.

從模擬器上獲取螢幕截圖

dalvik debug monitor server (ddms)可以從模擬器上獲取螢幕截圖

利用除錯幫助類

android為了開發者的方便提供了諸如util.log和debug等幫助類

Android除錯工具 Stetho

stetho是facebook開源的乙個android平台除錯工具。我們的 就是以這個為中心來實現的。gradle 檔案裡直接加入stetho的依賴。stetho的依賴。僅僅須要debug模式下打包依賴,release模式打包不須要。stetho okhttp是獲取network資料須要的依賴。因為...

Android除錯工具之ADB

android除錯工具之adb 1.什麼是adb adb的全稱為android debug bridge,顧名思義,這個是pc機與android裝置的連線橋。簡單的說,就是通過adb pc可以控制與之相連的android裝置。通過adb我們可以在eclipse中方面通過ddms來除錯android程...

Android 除錯工具 Stetho 使用學習

今年年初,facebook開源了乙個android開發除錯工具,叫stetho,應該是單詞stethoscope的一部分吧,意為診斷器。在專案中新增相應 通過chrome devtools連線裝置後具備以下功能 可以在chrome裡進行網路訪問檢測,可以檢視請求鏈結,請求頭,json資料等 不roo...