Android Studio 如何分析網(wǎng)絡(luò)活動
前面的小節(jié)我們學(xué)習(xí)了如何分析內(nèi)存活動。本小節(jié)學(xué)習(xí)如何分析網(wǎng)絡(luò)活動。
1. 為什么應(yīng)分析網(wǎng)絡(luò)活動?
當(dāng)我們的應(yīng)用向網(wǎng)絡(luò)發(fā)出請求時,設(shè)備必須使用高功耗的移動或 WLAN 無線裝置來收發(fā)數(shù)據(jù)包。無線裝置不僅要消耗電力來傳輸數(shù)據(jù),而且還要消耗額外的電力來開啟并且不鎖定屏幕。
使用網(wǎng)絡(luò)性能剖析器( Network Profiler ),我們可以查找頻繁出現(xiàn)的短時網(wǎng)絡(luò)活動峰值,這些峰值意味著,我們的應(yīng)用要求經(jīng)常開啟無線裝置,或要求無線裝置長時間不鎖定屏幕以處理集中出現(xiàn)的大量短時請求。這種模式說明我們可以通過批量處理網(wǎng)絡(luò)請求,減少必須開啟無線裝置來發(fā)送或接收數(shù)據(jù)的次數(shù),從而優(yōu)化應(yīng)用,改善電池性能。這種方式還能讓無線裝置切換到低功耗模式,延長批量處理請求之間的間隔時間,節(jié)省電量。
2. Network Profiler
網(wǎng)絡(luò)性能剖析器會在時間軸上顯示實(shí)時網(wǎng)絡(luò)活動,包括發(fā)送和接收的數(shù)據(jù)以及當(dāng)前的連接數(shù)。這便于我們檢查應(yīng)用傳輸數(shù)據(jù)的方式和時間,并適當(dāng)優(yōu)化底層代碼。
如需打開網(wǎng)絡(luò)性能剖析器,請按以下步驟操作:
依次點(diǎn)擊 View > Tool Windows > Profiler,也可以點(diǎn)擊工具欄中的 Profile 圖標(biāo)。

從 Android Profiler 工具欄中選擇要分析的設(shè)備和應(yīng)用進(jìn)程。
點(diǎn)擊 NETWORK 時間軸上的任意位置以打開網(wǎng)絡(luò)性能剖析器。

-
事件時間軸;
-
網(wǎng)絡(luò)活動標(biāo)簽頁;
-
網(wǎng)絡(luò)數(shù)據(jù)的詳細(xì)信息
窗口頂部顯示的是事件時間軸。在時間軸上,我們可以點(diǎn)擊并拖動以選擇時間軸的一部分來檢查網(wǎng)絡(luò)流量。在時間軸下方的窗格中,我們可以選擇以下某個標(biāo)簽頁,以詳細(xì)了解時間軸上選定時段內(nèi)的網(wǎng)絡(luò)活動:
-
Connection View:列出了在時間軸上選定時段內(nèi)從我們應(yīng)用的所有 CPU 線程發(fā)送或接收的文件。對于每個請求,我們可以檢查大小、類型、狀態(tài)和傳輸時長。 我們可以通過點(diǎn)擊任意列標(biāo)題來對此列表排序。我們還會看到時間軸上選定時段的明細(xì)數(shù)據(jù),從而了解每個文件的發(fā)送或接收時間。
-
Thread View:顯示應(yīng)用的每個 CPU 線程的網(wǎng)絡(luò)活動。 如下圖所示,我們可以在此視圖中檢查應(yīng)用的哪些線程負(fù)責(zé)每個網(wǎng)絡(luò)請求。

從 Connection View 或 Thread View 中,點(diǎn)擊請求名稱可檢查有關(guān)已發(fā)送或已接收數(shù)據(jù)的詳細(xì)信息。點(diǎn)擊各個標(biāo)簽頁可查看響應(yīng)標(biāo)頭和正文、請求標(biāo)頭和正文或調(diào)用堆棧。
在 Response 和 Request 標(biāo)簽頁中,點(diǎn)擊 View Parsed 鏈接可顯示格式化文本,點(diǎn)擊 View Source 鏈接可顯示原始文本。

Tips:如果我們使用的是 HttpURLConnection API,則不會在 Request 標(biāo)簽頁中看到標(biāo)頭,除非我們使用 setRequestProperty 方法將其添加到我們的代碼中,如以下示例所示。
3. 排查網(wǎng)絡(luò)連接問題
如果網(wǎng)絡(luò)性能剖析器檢測到流量值,但無法識別任何受支持的網(wǎng)絡(luò)請求,我們會收到以下錯誤消息:
**Network Profiling Data Unavailable:** There is no information for the network traffic you've selected.
目前,Network Profiler 僅支持 HttpURLConnection 和 OkHttp 網(wǎng)絡(luò)連接庫。如果我們的應(yīng)用使用的是其他網(wǎng)絡(luò)連接庫,我們可能無法在網(wǎng)絡(luò)性能剖析器中查看網(wǎng)絡(luò)活動。
4. 小結(jié)
本節(jié)課程我們主要學(xué)習(xí)了如何分析網(wǎng)絡(luò)活動。本節(jié)課程的重點(diǎn)如下:
- 掌握如何檢查網(wǎng)絡(luò)流量。
PT950 ·
2025 imooc.com All Rights Reserved |