0
手頭的挑戰是如何爲每個網絡接口獲取準確的數據計數器。 類TrafficStats提供一些幫助:Android:如何獲取個人數據使用情況計數器?
TrafficStats.getMobileRxBytes() /* Similar for TX */
TrafficStats.getTotalRxBytes() /* Similar for TX */
由此可以計算出移動接口的流量。 但是我看到幾個帖子聲稱:
- WIFI usage = Total - Mobil;
由於Total包括所有網絡接口(即藍牙和USB以及WIFI和移動設備),因此這是不正確的。因此,使用上述計算,WIFI結果可能會超出其實際正確值。
任何人都可以協助或提供有關如何準確分析每個NetworkInterfaces的幫助嗎?
從開發文檔,我發現TrafficStats的定義如下: 公共靜態長getTotalRxPackets() 在API級別8 因爲設備引導接收的數據包返回數量。統計所有網絡接口的數據包數量,並且自設備引導以來始終單調遞增。統計數據是在網絡層進行測量的,因此它們包括TCP和UDP的使用。我的設備(HTC ONE X)上 「......在所有的網絡。」 上市網絡,我得到包括列表: > BLUETOOTH_TETHER > USBNET ..藍牙和USB兩種都是網絡接口中。 – user2802170
@ user2802170:您假設準確的文檔,但不幸的是這不是一個有效的假設。我建議您使用藍牙(並在另一項測試中使用USB)進行實際測試,並確認對「TrafficStats」的影響。 – CommonsWare
是的,我同意文件有時是可怕的... 以懶惰的名義..有其他人測試了這篇文章中聲稱的事實;即在TrafficStats計數器中包含USB和藍牙流量? – user2802170