使用ADB进行流量统计
流量测试的原理:在安卓手机上,应用的网络流量数据都会保存在系统的/proc/uid_stat/$UID/tcp_rcv 和/proc/uid_stat/$UID/tcp_snd两个文件夹里面,一个是请求耗费的流量,一个是接受的数据流量,这两个数据是由系统记录的,在我们启动某个软件的时候,系统会根据这个应用所占用的进程号pid在根目录下创建一个以这个命名的文件夹,在文件夹的下面有存有UID的文件,如果想了解一下PID和UID的话可以看下下面这篇博客:
http://blog.csdn.net/vshuang/article/details/43639211
在这里就不多讲了。根据上面的信息,我们就可以非常容易地得到应用使用所耗费的流量的相关信息了。下面是具体的操作步骤:
(1)、查看当前应用的UID:adb shell ps | grep “你想测试的应用的包名”
即可出现下面的信息,第二个就是你的应用的PID,
(1)、执行adb pull /proc/$pid/status ,在status文件里面存储的就是UID。
(2)、执行adb pull /proc/$UID/tcp/rcv 和adb pull /proc/uid_stat/$UID/tcp_snd,记得把其中的$UID替换成自己应用的UID,这样子我们就可以拿到请求数据耗费的流量和收到的的流量了
这次研究性能监控的脚本收获很大,adb真的好强大,基本上这套工具都是通过adb相关的命令来实现相应的功能的,在找资料的时候看到下面这篇文章,很不错,推荐。
http://blog.csdn.net/kittyboy0001/article/details/38539045
使用ADB进行流量统计相关推荐
- Android流量统计
项目中需要对Android设备进行流量统计来进行资费结算,所以对Android设备流量统计进行了一些调研.发现流量统计主流上有两种方式 使用系统统计类TrafficStats获取 通过系统文件解析读取 ...
- 单个应用流量统计实现和核对
1.通过包名获得应用的Uid: try {PackageManager pm = getPackageManager();ApplicationInfo ai = pm.getApplicationI ...
- 39、流量统计--原理
Android流量统计来说在2.2版中加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取 Linux提供的文件对象系统类型的文本进行解析. android.net ...
- Android:全面详细的解析Android数据流量统计流程与分析方法(流量检测、流量监控、流量提示)相关类PhoneStateListener,dcTracker,TrafficStats
作者:GentlemanTsao https://blog.csdn.net/GentelmanTsao 每篇一格言 Stay hungry,stay foolish! --Steve Jobs 文章 ...
- ArcGIS水文分析实战教程(9)雨量计算与流量统计
ArcGIS水文分析实战教程(9)雨量计算与流量统计 本章导读:降水是水文循环中重要的一环,降水包括雨.雪.雾.露.雹等,本章介绍的是降雨的环节.通过雨量站与插值的方式,实现雨量的空间分布就算,为水文 ...
- linux 端口 流量统计,Linux下如何对端口流量进行统计
在不修改源代码的情况下对程序暴露端口流量进行监控统计,可以利用Linux中自带的Iptable添加简单的规则让其起到端口流量统计的作用.但是需要注意的是在服务器重启.Iptable服务重启的时候统计数 ...
- 几个常用的流量统计工具比较
最近试用了几个流量统计工具,粗略的比较了一下,不当之处望指正: 163流量统计 :(没全面测试) 优点:几乎没有看到广告,页面干净 转载于:https://blog.51cto.com/wingate ...
- Android流量统计TrafficStats类
对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...
- php 开源 流量统计,5款开源的PHP网站流量统计应用程序
下面是5款开源的PHP网站流量统计应用程序. piwik Piwik 是一套基于Php+MySQL技术构建的开源网站访问统计系统,前身是phpMyVisites.Piwik可以给你详细的统计信息,比如 ...
最新文章
- Sqlite3支持的数据类型 日期函数 Sqlite3 函数
- JVM内存溢出的几种情形
- 用中值排序基数法实现树状结构 (转)
- PC人脸识别登录,出乎意料的简单
- python使用for循环打印99乘法表-python3:使用for循环打印九九乘法表
- android处理服务器的集合,android集合SSH搭建服务器客户端请求
- 使用 litmus 验证内存重排
- 博客社会学图——使用python检索网页上的友情链接
- Spring Cloud 微服务架构全链路实践
- (转)android技巧01:Preferencescreen中利用intent跳转activity
- vue 页面切换动画_Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理...
- 苹果手机默认拍照比例_苹果手机拍照有什么技巧?这几个功能要知道,不然别说自己用苹果...
- 成为编程高手的八大奥秘
- jquery基本过滤选择器(jquery筛选选择器)
- 【CV学习笔记】色彩空间
- idea 新建ssm java ee_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解
- linux下内存释放问题
- 5分钟快速入门GIS(GIS基础)(GIS当中常见数据)
- sqlite内存数据库和文件数据库的同步
- 要马儿跑,又要马儿不吃草?聊聊联邦学习与分布式机器学习
热门文章
- 「Photoshop2021入门教程」对齐与分布制作波点图案
- 使用Charles和小米手机MIX3进行手机HTTPS抓包
- html5滚动条样式修改,css修改滚动条样式
- 单片机做计算机乘法,运用单片机进行加减乘除法的运算
- Java基础每日一练—第4天:加减乘除的运算
- 教程 | 如何给自己绘制萌萌哒头像(干货)
- 做集成墙板,只有选对厂家,才能选对品牌
- 计算机屏幕截图给播放器黑屏,电脑截图显示屏就黑屏怎么回事的解决方法
- c++语言运算符,C++关系运算符(超详细)
- linux系统某些应用无法输入,ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)...