【发布时间】:2015-10-05 23:27:06
【问题描述】:
Android 可以跟踪从应用程序发送和接收的字节数。
我想知道这些数据是如何计算的。例如,当我运行本机应用程序时,打开 TCP 套接字,发送和接收数据,这些数据都会被计入。
我知道这与 xt_qtaguid 模块有关,它为每个 UID 标记套接字。
【问题讨论】:
标签: android network-programming iptables netfilter
Android 可以跟踪从应用程序发送和接收的字节数。
我想知道这些数据是如何计算的。例如,当我运行本机应用程序时,打开 TCP 套接字,发送和接收数据,这些数据都会被计入。
我知道这与 xt_qtaguid 模块有关,它为每个 UID 标记套接字。
【问题讨论】:
标签: android network-programming iptables netfilter
快速狩猎:
快速查看包/应用程序/设置 (http://androidxref.com/5.1.1_r6/xref/packages/apps/Settings/src/com/android/settings/DataUsageSummary.java#296) 似乎它依赖于
这似乎归结为阅读:
mStatsXtIfaceAll = new File(procRoot, "net/xt_qtaguid/iface_stat_all");
mStatsXtIfaceFmt = new File(procRoot, "net/xt_qtaguid/iface_stat_fmt");
mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats");
“net/xt_qtaguid/stats”似乎包含应用级别的信息。
-- 这里略过几步,但是这个文件只打开读取后,是xt_qtaguid内核模块写的。
内核不是我的专长,我们现在不在系统的“Android”部分,也许这个问题属于 Linux 内核问题而不是 Android 问题? :)
【讨论】: