安卓流量统计
TrafficStats类;
NetworkStatsManager类;
1.TrafficStats
getMobileRxBytes()
//统计移动网络接收到的数据包大小。测试数据在网络层,包括TCP与UDP
getMobileRxPackets()
//返回移动网络设备引导收到的数据包数量。其他同上
getThreadStatsTag()
//setThreadStatsTag(int)
//获取线程的标签,每一个线程只有一个活跃的标签
getTotalRxBytes 获取设备启动以来所接收的数据总量
getTotalRxPackets //获取设备启动以来所接收的数据包的数量
具体调用
DDMS netWork Statistics
//1.获取一个包管理器。
PackageManager pm = getPackageManager();
//2.遍历手机操作系统 获取所有的应用程序的uid
List<ApplicationInfo> appliactaionInfos = pm.getInstalledApplications(0);
for(ApplicationInfo applicationInfo : appliactaionInfos){
int uid = applicationInfo.uid; // 获得软件uid
//proc/uid_stat/10086
long tx = TrafficStats.getUidTxBytes(uid);//发送的 上传的流量byte
long rx = TrafficStats.getUidRxBytes(uid);//下载的流量 byte
//方法返回值 -1 代表的是应用程序没有产生流量 或者操作系统不支持流量统计
获取当前APPID
}
TrafficStats.getMobileTxBytes();//获取手机3g/2g网络上传的总流量
TrafficStats.getMobileRxBytes();//手机2g/3g下载的总流量
TrafficStats.getTotalTxBytes();//手机全部网络接口 包括wifi,3g、2g上传的总流量
TrafficStats.getTotalRxBytes();//手机全部网络接口 包括wifi,3g、2g下载的总流量 getAppliactaionInfo.UID
-注意:监控流量也可以使用DDMS中的network statics