在Android 4.0设置中的“流量使用情况”允许长期统计每个App如何使用网络资源。从4.0.3开始,配合最新发布的DDMS
r17(在ADT r17
插件中有集成),您可以实时的在DDMS中查看程序使用网络的情况。您还可以通过设置不同的Tag(标签)来区分不同类型的流量使用情况。流量统计情况在DDMS中通过图表显示,如下图:
DDMS中的流量统计
在代码中您可以给每个访问网络的线程设置一个标签,使用 TrafficStats.setThreadStatsTag()函数设置,还可以通过函数 TrafficStats.tagSocket() 和 untagSocket() 来设置Socket的标签。Android中的Apache HttpClient 和 URLConnection 库会自动的使用当前线程的getThreadStatsTag() 值来给Socket标记。(These libraries correctly tag/untag sockets when recycled through keep-alive pools.) 下面是一个常用的示例:
TrafficStats.setThreadStatsTag(0xF00D); try { // 通过 HttpClient.execute()来请求网络 } finally { TrafficStats.clearThreadStatsTag(); }
给Socket打标签在 Android 4.0 中开始使用,但是实时状态统计只能在4.0.3+版本中支持。
本文转自:http://blog.chengyunfeng.com/?p=389