1. 程式人生 > >(整理篇二)Android—流量監控

(整理篇二)Android—流量監控

一 Android與流量相關的檔案:

/proc/net/dev,記錄各個網路介面(wlan, ccmni1,lo,ifb,tunl,sit,ip6tnl,p2p)傳送、接收流量的值。
/proc/uid_stat/app_uid,該路徑下有兩個檔案:tcp_snd,tcp_rcv,記錄了app_uid所代表的的應用程式傳送、接收的流量值。

二 Android中與流量監控開發相關的類:TrafficStats

2.1 函式說明(以Rx做說明,Tx的類似):
TrafficStats.getTotalRxBytes()
獲取總的接收位元組數,包括mobile和wifi的。對應於文件:/proc/net/dev中“Receive Bytes”下所有介面的資料值。
TrafficStats.getMobileRxBytes()
獲取mobile總的接收位元組數;mobile指的是是使用行動網路產生的位元組數。對應於文件:/proc/net/dev中“Receive Bytes”下“ccmni1”介面的資料值。
TrafficStats.getUidRxBytes(appUid)
獲取某個App從所有網路介面接收到的所有位元組數,包括網路流量、本地流量,本地流量指的是程序間socket通訊所消耗的位元組數。對應於文件:/proc/uid_stat/app_uid/ tcp_rcv中的數值。

三 問題

如何獲取某個應用行動網路、WLAN網路下產生的位元組數。