如何精准监控Android设备上网流量消耗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计301个文字,预计阅读时间需要2分钟。
一. 提供两种方法获取上网流量相关信息。
1.使用TrafficStats(2.2版本以上)类查看流量。
TrafficStats类提供了一些查看流量的方法,具体包括: - getTotalRxBytes():获取总的接收字节数。 - getTotalTxBytes():获取总的发送字节数。 - getUidRxBytes():获取指定UID的接收字节数。 - getUidTxBytes():获取指定UID的发送字节数。 请参考SDK文档获取更多细节。一.下提供两种方法获取上网流量相关信息。 利用TrafficStats(2.2版本以上) TrafficStats类存在好几个查看流量的方法,具体说明参照SDK。 getMobileRxBytes getTotalRxBytes getUidRxBytes() && getUidTxBytes函数 二.读取系统文件 获取某个应用对应的上传和下载流量: “/proc/uid_stat/%d/tcp_rcv” 和”/proc/uid_stat/%d/tcp_snd”文件 其中%d为进程uid。 uid_stat下有些手机会找不到下面的uid目录,那是因为有个宏被关闭了(并不是所有的系统都会打开那个宏,要看厂商) 获取总流量: /sys/class/net/ ***/statistics/rx_bytes /sys/class/net/ ***/statistics/tx_bytes /sys/class/net/ 此为linux标准内核,所有版本都一致。 *** 跟版本相关的路径。 例如: /sys/class/net/rmnet0 /sys/class/net/tiwlan0 其中: tiwlan0 是 Wifi rmnet0 是 GPRS //下载和上传 /statistics/rx_bytes /statistics/tx_bytes 总结:流量监控不同版本差异相当较大,建议用第2中方法以便扩展及异常处理。
本文共计301个文字,预计阅读时间需要2分钟。
一. 提供两种方法获取上网流量相关信息。
1.使用TrafficStats(2.2版本以上)类查看流量。
TrafficStats类提供了一些查看流量的方法,具体包括: - getTotalRxBytes():获取总的接收字节数。 - getTotalTxBytes():获取总的发送字节数。 - getUidRxBytes():获取指定UID的接收字节数。 - getUidTxBytes():获取指定UID的发送字节数。 请参考SDK文档获取更多细节。一.下提供两种方法获取上网流量相关信息。 利用TrafficStats(2.2版本以上) TrafficStats类存在好几个查看流量的方法,具体说明参照SDK。 getMobileRxBytes getTotalRxBytes getUidRxBytes() && getUidTxBytes函数 二.读取系统文件 获取某个应用对应的上传和下载流量: “/proc/uid_stat/%d/tcp_rcv” 和”/proc/uid_stat/%d/tcp_snd”文件 其中%d为进程uid。 uid_stat下有些手机会找不到下面的uid目录,那是因为有个宏被关闭了(并不是所有的系统都会打开那个宏,要看厂商) 获取总流量: /sys/class/net/ ***/statistics/rx_bytes /sys/class/net/ ***/statistics/tx_bytes /sys/class/net/ 此为linux标准内核,所有版本都一致。 *** 跟版本相关的路径。 例如: /sys/class/net/rmnet0 /sys/class/net/tiwlan0 其中: tiwlan0 是 Wifi rmnet0 是 GPRS //下载和上传 /statistics/rx_bytes /statistics/tx_bytes 总结:流量监控不同版本差异相当较大,建议用第2中方法以便扩展及异常处理。

