Android可以跟踪从/向应用程序发送和接收字节的方式。
我想知道这些数据是如何计算的。例如,当我运行本机应用程序,打开TCP套接字,发送和接收数据时,会记录这些数据。
我知道它与xt_qtaguid
模块有关,它为每个UID标记套接字。
答案 0 :(得分:2)
快速追捕:
快速查看软件包/应用程序/设置(http://androidxref.com/5.1.1_r6/xref/packages/apps/Settings/src/com/android/settings/DataUsageSummary.java#296),它似乎依赖于
NetworkStatsService: http://androidxref.com/5.1.1_r6/xref/frameworks/base/services/core/java/com/android/server/net/NetworkStatsService.java#906
这似乎归结为阅读:
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");
"净/ xt_qtaguid /统计"似乎包含应用级别的信息。
- 在此处跳过几个步骤,但在此文件仅打开以供阅读之后,它由xt_qtaguid内核模块编写。
内核不是我的专长,而且我们不在" Android"现在系统的一部分,也许这个问题属于Linux内核问题,而不是Android问题? :)