流量测试的原理:在安卓手机上,应用的网络流量数据都会保存在系统的/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进行流量统计相关推荐

  1. Android流量统计

    项目中需要对Android设备进行流量统计来进行资费结算,所以对Android设备流量统计进行了一些调研.发现流量统计主流上有两种方式 使用系统统计类TrafficStats获取 通过系统文件解析读取 ...

  2. 单个应用流量统计实现和核对

    1.通过包名获得应用的Uid: try {PackageManager pm = getPackageManager();ApplicationInfo ai = pm.getApplicationI ...

  3. 39、流量统计--原理

    Android流量统计来说在2.2版中加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取 Linux提供的文件对象系统类型的文本进行解析. android.net ...

  4. Android:全面详细的解析Android数据流量统计流程与分析方法(流量检测、流量监控、流量提示)相关类PhoneStateListener,dcTracker,TrafficStats

    作者:GentlemanTsao https://blog.csdn.net/GentelmanTsao 每篇一格言 Stay hungry,stay foolish! --Steve Jobs 文章 ...

  5. ArcGIS水文分析实战教程(9)雨量计算与流量统计

    ArcGIS水文分析实战教程(9)雨量计算与流量统计 本章导读:降水是水文循环中重要的一环,降水包括雨.雪.雾.露.雹等,本章介绍的是降雨的环节.通过雨量站与插值的方式,实现雨量的空间分布就算,为水文 ...

  6. linux 端口 流量统计,Linux下如何对端口流量进行统计

    在不修改源代码的情况下对程序暴露端口流量进行监控统计,可以利用Linux中自带的Iptable添加简单的规则让其起到端口流量统计的作用.但是需要注意的是在服务器重启.Iptable服务重启的时候统计数 ...

  7. 几个常用的流量统计工具比较

    最近试用了几个流量统计工具,粗略的比较了一下,不当之处望指正: 163流量统计 :(没全面测试) 优点:几乎没有看到广告,页面干净 转载于:https://blog.51cto.com/wingate ...

  8. Android流量统计TrafficStats类

    对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...

  9. php 开源 流量统计,5款开源的PHP网站流量统计应用程序

    下面是5款开源的PHP网站流量统计应用程序. piwik Piwik 是一套基于Php+MySQL技术构建的开源网站访问统计系统,前身是phpMyVisites.Piwik可以给你详细的统计信息,比如 ...

最新文章

  1. Sqlite3支持的数据类型 日期函数 Sqlite3 函数
  2. JVM内存溢出的几种情形
  3. 用中值排序基数法实现树状结构 (转)
  4. PC人脸识别登录,出乎意料的简单
  5. python使用for循环打印99乘法表-python3:使用for循环打印九九乘法表
  6. android处理服务器的集合,android集合SSH搭建服务器客户端请求
  7. 使用 litmus 验证内存重排
  8. 博客社会学图——使用python检索网页上的友情链接
  9. Spring Cloud 微服务架构全链路实践
  10. (转)android技巧01:Preferencescreen中利用intent跳转activity
  11. vue 页面切换动画_Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理...
  12. 苹果手机默认拍照比例_苹果手机拍照有什么技巧?这几个功能要知道,不然别说自己用苹果...
  13. 成为编程高手的八大奥秘
  14. jquery基本过滤选择器(jquery筛选选择器)
  15. 【CV学习笔记】色彩空间
  16. idea 新建ssm java ee_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解
  17. linux下内存释放问题
  18. 5分钟快速入门GIS(GIS基础)(GIS当中常见数据)
  19. sqlite内存数据库和文件数据库的同步
  20. 要马儿跑,又要马儿不吃草?聊聊联邦学习与分布式机器学习

热门文章

  1. 「Photoshop2021入门教程」对齐与分布制作波点图案
  2. 使用Charles和小米手机MIX3进行手机HTTPS抓包
  3. html5滚动条样式修改,css修改滚动条样式
  4. 单片机做计算机乘法,运用单片机进行加减乘除法的运算
  5. Java基础每日一练—第4天:加减乘除的运算
  6. 教程 | 如何给自己绘制萌萌哒头像(干货)
  7. 做集成墙板,只有选对厂家,才能选对品牌
  8. 计算机屏幕截图给播放器黑屏,电脑截图显示屏就黑屏怎么回事的解决方法
  9. c++语言运算符,C++关系运算符(超详细)
  10. linux系统某些应用无法输入,ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)...