发布时间:2025-12-10 19:27:12 浏览次数:12
安卓流量统计app_app流量使用情况主要讲述关于android流量的简介,如何使用TrafficStats获取流量,并设计一个完整的APP流量统计,最后深入了解如何通过其它方式更准确地获取流量统计.android流量简介流量统计文件:路径/proc/net/dev打开文件,其中lo为本地流量,rmnet0为3g/2g流量,wlan0为无线流量.在/sys/class/net/下可以找到相关类_android统计app流量
主要讲述关于android流量的简介,如何使用TrafficStats获取流量,并设计一个完整的APP流量统计,最后深入了解如何通过其它方式更准确地获取流量统计.
android流量简介
打开文件,其中 lo 为本地流量, rmnet0 为3g/2g流量, wlan0 为无线流量.
TrafficStats学习
TrafficStats google develop文档TrafficStats 源文件 查看重要API: [mw_shl_code=java,true]static longgetMobileRxBytes()//获取通过Mobile连接收到的字节总数,不包含WiFi
static longgetMobileRxPackets()//获取Mobile连接收到的数据包总数
static longgetMobileTxBytes()//Mobile发送的总字节数
static longgetMobileTxPackets()//Mobile发送的总数据包数
static longgetTotalRxBytes()//获取总的接受字节数,包含Mobile和WiFi等
static longgetTotalRxPackets()//总的接受数据包数,包含Mobile和WiFi等
static longgetTotalTxBytes()//总的发送字节数,包含Mobile和WiFi等
static longgetTotalTxPackets()//发送的总数据包数,包含Mobile和WiFi等
static longgetUidRxBytes(int uid)//获取某个网络UID的接受字节数
static longgetUidTxBytes(int uid) //获取某个网络UID的发送字节数[/mw_shl_code]
备注:TrafficStats类在Android 2.2 API Level(8)之后出现。
设计一个合理的APP流量统计
记录某App开关机流量使用 [mw_shl_code=java,true]public class ShutDownReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//在关机时 记录uid应用 本次流量结余
}
}[/mw_shl_code]
[mw_shl_code=java,true]public class WifiStateReceiver extends BroadcastReceiver implements ISusoConstants {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);
if (wifistate == WifiManager.WIFI_STATE_DISABLED) {//如果关闭
//结余本次wifi过程中 uid应用的 流量
} else if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
//记录当前uid应用的流量.
}
}
}[/mw_shl_code]
结束,希望对大家有所帮助~