关于android流量统计

本文详细介绍了在Android 2.2及以上API版本中,如何利用官方提供的TrafficStats类进行流量统计,包括总流量、特定应用的上行和下行流量等。同时,对于2.2以下系统的流量获取方法也进行了说明,并讨论了从系统文件中读取流量数据的局限性。特别强调了仅在已root的设备上能通过特定文件读取数据,且数据会随关机而清空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于android 2.2以上的API中,已有了官方统计类:

TrafficStats.getMobileTxBytes();  //GPRS上行流量
TrafficStats.getMobileRxBytes(); //GPRS下行流量
TrafficStats.getTotalTxBytes() ; //总上行流量  含wifi
TrafficStats.getTotalRxBytes(); //总下行流量  含wifi
TrafficStats.getUidTxBytes(uid); //某一uid上行流量   (该数据不准确,包含网络数据(gprs、wifi)及本地进程间套接字通信数据
TrafficStats.getUidRxBytes(uid); //某一uid下行流量  (该数据不准确,包含网络数据(gprs、wifi)及本地进程间套接字通信数据


对于2.2以下的系统中,可通过分析系统文件 /proc/uid_stat/" + appUID + "/tcp_rcv" 及/proc/uid_stat/" + appUID + "/tcp_snd"来获取某一应用的数据  ( 同样不准确。API中的app流量即从此文件获取)  对于共享同一UID的应用来说,不能区分到底是哪个应用的流量有多少


总流量可以通过"/proc/self/net/dev"文件获取   里面包含wifi网卡及gprs网卡通过的流量数据及数据包数量


只有已root的手机中才能从文件中读取数据,  关机后数据均会清空    未使用流量的app不存在 /proc/uid_stat/" + appUID + "/tcp_rcv" 及/proc/uid_stat/" + appUID + "/tcp_snd"文件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值