在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

在DDMS中查看网络使用详情的更多相关文章

  1. 在Eclipse的DDMS中查看手机data文件夹中的内容

    在模拟器状态下,在Eclipse的DDMS中的File Explorer下查看手机data/data中的内容是件非常轻松的事情,特别是查看databases 但是在真机模式下就全然不是那么一回事了,在 ...

  2. 【转】android ddms中查看线程释疑

    原文网址:http://www.mobiletrain.org/lecture/doc/android/2011-05/457.html 大家都用过ddm,如果你用ddms查看一个程序的所有线程,你会 ...

  3. Linux中查看网络命令

    tcp三次握手,所以一直在listening,在等待信号 udp是没有listening状态的,因为不管你在不在都会发信息给你. netstat -r  =route -n  可以查看路由

  4. KVM中的网络简介(qemu-kvm)

    emu-kvm主要向客户机提供了如下4种不同模式的网络: 1)基于网桥(bridge)的虚拟网卡 2)基于NAT(Network Addresss Translation)的虚拟网络 3)QEMU内置 ...

  5. 来一波Linux中查看cpu、磁盘、内存、网络的命令

    转载请注明出处. 如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM 查看硬件的温度/风扇转速,电脑有撸大师,服务器就有ipmitool.使用ipmitool实 ...

  6. DDMS无法查看data/data目录?

    今天andorid 学习用真机来尝试用Android SQLite数据库时,从DDMS的FileExplore查看数据库文件时会发现里面是空的什么也没有,之前用的一直都是模拟器,现如今用真机 捣鼓了小 ...

  7. 【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置

    之前是把相关的内容,放到: [已解决]实现VirtualBox中的(Guest OS)Mac和主机(Host OS)Win7之间的文件和文件夹共享 中的,现在把关于网络配置方面内容,单独提取出来,专门 ...

  8. Linux下用netstat查看网络状态、端口状态(转)

    转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步.  ...

  9. Neutron VxLAN + Linux Bridge 环境中的网络 MTU

    1. 基础知识 1.1 MTU   一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...

随机推荐

  1. 实习笔记-3:ef实体操作错误篇

    学习笔记 1.json序列化ef实体是报错:“序列化类型为“System.Data.Entity.DynamicProxies.XXXX.... 对象时检测到循环引用.” 公司里用ef来生成实体.但是 ...

  2. leetcode Insert Interval 区间插入

    作者:jostree  转载请注明出处 http://www.cnblogs.com/jostree/p/4051169.html 题目链接:leetcode Insert Interval 使用模拟 ...

  3. 【Linux工具】svn命令行使用实例

    引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn he ...

  4. Linux下Qt环境的搭建

    之前一直使用Ubuntu软件中心中的Qt4开发Qt的应用程序,现在转到Linux下来做Qt5开发,但是必须从Qt官网上面下载对应的安装包,配置起来相对麻烦一些,这里介绍整个开发流程. 首先,在官网上面 ...

  5. 存储过程/游标/mysql 函数

    存储过程和函数(存储在 mysql数据库中的 proc表,所以检查有没有这个表)存储过程是一种存储程序(如正规语言里的子程序一样),mysql支持有两种:存储过程,在其他SQL语句中可以返回值的函数( ...

  6. ASP.Net MVC 生成安全验证码

    ---------html <td>验证码:</td>            <td>                <img src="/Logi ...

  7. PHP学习心得(七)——常量

    常量的范围是全局的. 可以用 define() 函数来定义常量. <?php define("CONSTANT", "Hello world."); ec ...

  8. org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode

    [spring]:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowe ...

  9. makefile的简单写法

    makefile 使用方法: vi 一个Makefile文件 CC = g++   // 指的是用什么编译器RM = rm -rf   // 定义一个删除的指令(变量)CFLAGS = -c -Wal ...

  10. 数位DP入门之hdu 3555 Bomb

    hdu 3555 Bomb 题意: 在1~N(1<=N<=2^63-1)范围内找出含有 ‘49’的数的个数: 与hdu 2089 不要62的区别:2089是找不不含 '4'和 '62'的区 ...