- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
对Android的TrafficStats的以下两种方法有疑惑:getUidTxBytes(int uid) 和 getUidRxBytes(int uid) ,这两个方法返回通过网络为此 UID 传输和接收的字节数。但是它的时间单位是什么,是每秒吗?如果我想计算每个应用程序每天传输和接收的数据,我应该怎么做。我想到了一种方法,将数据存储在 sql 中并继续向表中添加数据。方法对吗?
最佳答案
这些是“自接口(interface)启动以来”或“自具有此 UID 的应用程序启动以来”的计数器。也就是说,如果您的手机进入“飞行模式”然后返回,计数器可能会再次从零开始。如果您需要每秒值,则需要每秒调用这些函数,然后使用上次调用的增量。如果 delta 为负数,则直接使用该值,这意味着计数器再次从零开始。
还有一件事:据我所知,这些计数器只计算 TCP/IP。不是UDP。因此,如果您需要非常精确的记帐,并且所讨论的应用程序使用 UDP/IP 或除 TCP 之外的任何其他协议(protocol),则这些计数器将是错误的。
要了解此功能的工作原理,请查看免费提供的 Android 源代码。有问题的文件是 ./frameworks/base/core/jni/android_net_TrafficStats.cpp
这个函数从/proc/uid_stat/[uid]/tcp_snd
获取数据。如果您需要更多相关信息,则需要深入研究 Linux 内核...
关于android - TrafficStats Api android 和每日数据使用量的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7638292/
我正在尝试使用 TrafficStats 获取移动数据使用情况。 例子: mobileDataUsage = TrafficStats.getMobileRxBytes() +TrafficStats
当我打开 wifi 并连接时,TrafficStats.getMobileRxBytes() 和 TrafficStats.getMobileTxBytes() 总是返回 0,但是关闭 wifi,得到
我想获得一些有关获取日期间隔之间的 3G 数据统计信息的帮助。据我所知,我应该使用 TrafficStats(Android api 2.2 或更高版本)。我想将此信息保存到 SQLite 表中以每月
我花了一些时间研究了 volley 的实现,并在类 NetworkDispatcher 中找到了这段代码: // Tag the request (if API >= 14)
我的应用程序使用 TrafficStats 来测量来自 3G 连接的传入字节数。出于某种原因,在我 friend 的三星 Galaxy SII 上运行我的应用程序时,该值似乎在一段时间后重置为零。 我
我正在尝试测量我的应用收到了多少字节。我这样做: long receivedBytesBefore = TrafficStats.getTotalRxBytes(); ... doSomething(
我写了一个小的 android 应用程序,发送 Http 请求,从服务器接收响应,并计算传输和接收的字节数。代码如下 long receivedBytes = TrafficStats.getUidR
(我认为这是一个常见问题,但请不要太快将其标记为重复,因为我相信我的回答为讨论增添了新内容。) 相关的API是TrafficStats ,它从例如获取数据/proc/uid_stat/. 统计信息必须
我的应用正在尝试计算通过 WiFi/LAN 和移动数据连接发送和接收的字节数。为此,我在某个时间点获取了 TrafficStats 计数器的值,并在下次检查时从其值中减去该值。 // get curr
有什么方法可以按天获取网络流量/数据使用情况? (我对实时跟踪不感兴趣) 示例:启动应用程序 (APK),搜索 30 天前的一些网络流量日志,并显示一些总字节数。 TrafficStats 类可以返回
TrafficStats.incrementOperationCount() 的文档说: Increment count of network operations performed under t
我正在制作一个软件来播放在线视频,我正在尝试向软件添加流量统计功能。我尝试使用 TrafficStats 和 getUidRxBytes 函数。但是,它不计算 videoview 的净流量。像下面的代
我正在尝试在我的代码中获取流量统计信息。但是当我使用 TrafficStats.getUidTxBytes(uid) 它总是返回-1,即 TrafficStats.UNSUPPORTED 我不确定如何
我想获取android应用产生的准确网络流量:: long totalTraffic = TrafficStats.getUidRxBytes(uid) + TrafficStats.getUidTx
我制作了这个程序,我的 TrafficStats.getUidRxBytes() 方法一直给我 0。我检查了我的应用程序并有数据使用记录,但我的代码没有显示接收和发送数据量的数据使用量。另外,当我打印
我试图弄清楚我使用 OkHttpClient 发送的请求具体使用了多少我的应用程序数据,我发现我可以使用 TrafficStats标记线程,然后使用标记查看它的网络 Activity 。 如果我做类似
我知道我可以使用以下 trafficstats api 方法来获取任何给定应用程序的所有网络接口(interface)发送和接收的字节数。但是我如何只获取移动设备的统计信息?这样我就可以将移动数据和
我正在尝试获取从设备传输的字节总数(使用 getMobileTxBytes() 。 我从模拟器中的方法调用中得到的数字是 -1(这意味着该方法在设备上不受支持)。有没有办法让模拟器在这里返回一个合理的
对Android的TrafficStats的以下两种方法有疑惑:getUidTxBytes(int uid) 和 getUidRxBytes(int uid) ,这两个方法返回通过网络为此 UID 传
使用 TrafficStats 我正在检查 youtube 应用程序数据使用情况。在某些设备上它工作正常,但在许多其他设备上却不行。 我从开发者网站发现,这些统计数据可能并非在所有平台上都可用。如果此
我是一名优秀的程序员,十分优秀!