Android-流量统计

安卓流量统计

TrafficStats类;
NetworkStatsManager类;

1.TrafficStats

getMobileRxBytes()
//统计移动网络接收到的数据包大小。测试数据在网络层,包括TCP与UDP
getMobileRxPackets()
//返回移动网络设备引导收到的数据包数量。其他同上
getThreadStatsTag()
//setThreadStatsTag(int)
//获取线程的标签,每一个线程只有一个活跃的标签
getTotalRxBytes 获取设备启动以来所接收的数据总量
getTotalRxPackets //获取设备启动以来所接收的数据包的数量

具体调用

DDMS netWork Statistics
//1.获取一个包管理器。  
PackageManager pm = getPackageManager();  
//2.遍历手机操作系统 获取所有的应用程序的uid  
List 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

你可能感兴趣的:(Android)