gpt4 book ai didi

android - TrafficStats Api android 和每日数据使用量的计算

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:03:00 24 4
gpt4 key购买 nike

对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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com