因为这个方法得到的网卡流量数据,不是进程流量数据
有解决方案了吗?android 10 开始抛弃 xt_qtaguid, 改成了 bpf,目前我发现通过 adb 获取流量数据的有 3 种方法:
1.读取/proc/net/dev:该方式系统版本兼容性强,但是只能获取网卡全局的流量数据,无法分离进程流量数据
2.读取/proc/net/xt_qtaguid/stats: 该方式可以获取进程流量数据,但是只能在 Android 9.0 及以下的系统中使用
3.读取 sys/fs/bpf/traffic_uid_stats_map: 该方式可以在 Android 10 及以上的系统中获取进程流量数据,但是需要 root 权限
但性能狗确实是可以监控非 root 的安卓 10 手机的进程流量,好奇它的方案是什么。。。
“/proc/[pid]/net/dev” 和 “/proc/net/dev” 数据是一样的,这个文件记录的是网卡流量,不区分进程的,容易被 pid 这个东西迷惑,很多人估计都没发现这个问题。另外我这边用 perfdog 测过安卓 10 的手机,它是可以监控进程流量的,新用户有 30min 使用时间,每次监控不超过 1min 中断它是不扣体验时长的,你可以用来对比一下