如果仅统计应用总流量,TrafficStats 类提供的接口就足以实现了;
现在我们需要分析流量的成分,一直没有发现比较好的方法。TrafficStats类的方法setThreadStatsTag(int)可以标记线程,那么这个标记什么时候使用呢?Android monitor里面获取的流量数据是包含有tag的,系统肯定将tag信息存储在了某个地方。后来发现Android系统将放流量数据信息保存在文件/proc/net/xt_qtaguid/stats 中(见源码),于是我们可以通过下面的方式,分析流量来源!
模块划分
首先要对应用进行模块划分,模块值Tag区间[0,
0xFFFFFF00)。使用位表示模块与子模块之间的关系,例如0xGGPPCC00,GG一级模块、PP一级模块下的子模块,类推;
千牛是按照API接口划分的,当然也可以按照业务场景划分模块;
2万+



被折叠的 条评论
为什么被折叠?



