终极版:Andorid手机流量监测思路与代码实现(一)
首先,先上效果图:包括本月总的wifi流量和234g流量,同时能够统计出本日使用wifi和234g流量最多的APP,并且进行排序(事实上,实现了:每一个APP的每一天和手机总流量的数据都存在SQLite中,所以你想怎样显示就怎样显示)
一、前期准备:
关于Android系统自带API,TrafficStack的使用,其中uid是指每个APP独一无二的标示,在Android中,第三方APP标志大于10000,如10021代表微信这个APP。
1、 getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
2、 getMobileTxBytes() //Mobile发送的总字节数
3、 getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等
4、 getTotalTxBytes() //总的发送字节数,包含Mobile和WiFi等
5、getUidRxBytes(int uid) //获取某个网络UID的接受字节数
6、 getUidTxBytes(int uid) //获取某个网络UID的发送字节数
需要注意的是,上面的函数,只能计算本次开机都目前为止的流量情况,关机之后重新清零,数据存在文件夹中:
/proc/uid_stat/uid/tcp_send 上传流量
/proc/uid_stat/uid/tcp_rcv 下载流量
二、考虑的细节
利用上述API实现流量的统计,需要解决的问题有:
1、设定Service长期在后台监测本APP的流量情况,设定时间间隔差,如360的流量助手以3S为间隔;
2、解决后台服务被回收的问题(被回收后如何重新启动?如何能继续正确统计?);
3、如何区分出不同日期的流量使用情况?办法是利用数据库+间隔统计法;
4、开机要启动监听,网络状态变化要改变流量监听节约资源,关机要做标示,下次开机重新计算的时候,才知道要加上上次关机的流量值;
5、非正常关机状态,如死机拔掉电池;
6、如何统计3S内的流量差(wifi情况和234g情况)
以上六点,是做出本APP最主要的部分,看起来挺简单,但是细节上要多注意,对于Android四大组件的生命周期要有较好的把握,否则,算出来的数据不准确。
终极版:Andorid手机流量监测思路与代码实现(一)相关推荐
- PC版微信加密图片解密思路与代码实现_Python
PC版微信加密图片解密思路与代码实现_Python 前言 PC版的微信会加密存储用户接受到的所有图片信息. 存储路径为 C:\Users\用户名\Documents\WeChat Files\微信号\ ...
- 阿里巴巴Java开发手册终极版网页版v1.3.0
前言 一 .编程规约 ( 一 ) 命名风格 ( 二 ) 常量定义 ( 三 ) 代码格式 ( 四 ) OOP规约 ( 五 ) 集合处理 ( 六 ) 并发处理 ( 七 ) 控制语句 ( 八 ) 注释规约 ...
- iOS开发监测手机流量使用情况
获取手机使用流量存在几个问题: ①iOS是无法像Android一样监听到开机广播和关机广播的,立刻关机再开机,监测的移动网络下流量会默认清空. ②应用在后台运行时,突然被杀死,无法对流量统计,需要在应 ...
- qbittorrent手机版怎么用_衡东手机流量卡怎么用
衡东手机流量卡怎么用 如有提问,请私信.***近新办的个人独资企业就这样办理过. 在 ***需要注册与从业资格相对应的证书. 衡东手机流量卡怎么用 一.建立网站推广工作的基本流程通过初步评估,初步了解 ...
- 推荐几款比较好的手机流量监控软件
推荐几款比较好的手机流量监控软件 目前的手机,用途是越来越大,上网,QQ.微博.微信.各种手机版的网络应用都需要网络的支持.尽管各种手机网络应用都一再宣称不消耗流量,免流量等等,不过相信很多人在月中甚 ...
- Java学习必备书籍推荐终极版!
很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善.虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去.希望这篇文章对 ...
- matlab 30案例 目录,MATLAB-智能算法30个案例分析-终极版(带目录).doc
MATLAB-智能算法30个案例分析-终极版(带目录) MATLAB 智能算法30个案例分析(终极版) 1?基于遗传算法的TSP算法(王辉)? 2?基于遗传算法和非线性规划的函数寻优算法(史峰)? 3 ...
- Hyper-v下安装网络流量监测图形分析工具 Cacti
网络流量监测图形分析工具Cacti,在虚拟机上安装,易于使用,便于移植,在Vmware上安装的已有介绍,这里略过,这里主要介绍在微软虚拟机Hyper-v上的安装过程. 安装前准备: 1.安装虚拟机Hy ...
- Java面试通关要点汇总集【终极版】
原文地址:梁桂钊的博客 博客地址:blog.720ui.com 年前,我整理的 Java面试通关要点汇总集 获得了很多读者的肯定,谢谢大家支持.事实上,笔者结合自己过往的面试经验,整理了一些核心的知识 ...
最新文章
- SMS主站点配置详细图解:Sms2003系列之二
- 如何在多Node版本的情况下公用一个npm
- UA MATH563 概率论的数学基础 鞅论初步1 条件期望
- 【IdentityServer4文档】- 欢迎来到 IdentityServer4
- 静态static关键字修饰成员变量
- Jsp传值方式(乱码问题的解决)
- MindSpore21天实战营丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验
- Java工程带库编译运行
- c语言程序设计谭浩强题库,谭浩强c语言程序设计习题答案
- 计算机病毒有几个阶段,计算机病毒发展9阶段
- DMX512协议及对接口电路的分析
- linux系统 锐捷_Ubuntu Linux锐捷安装方法
- axure 7.0 注册码
- Java实现观察者模式
- java8中数据类型_Java 8中 基本数据类型
- JavaScript高级程序设计读书笔记(第6章面向对象的程序设计之创建对象)
- vmware虚拟化故障虚拟磁盘丢失恢复办法
- Java的基础语法(二)
- VM 虚拟机挂起之后,关闭虚拟机,第二天重启之后,连接不上 。静态ip设置
- Windows使用Docker出现exit 139错误