Android---优化下载让网络访问更高效(四)

翻译 2013年12月05日 15:22:54

使用DDMS网络流量工具来识别关注的区间

Android的DDMS(Dalvik Debug Monitor Server)包含了详细的网络使用情况选项卡,这使得跟踪应用程序使用网络情况成为可能。使用这个工具,可以监视应用程序传输数据的方式和时机,并在此基础上可以优化底层相关的代码。

图3显示了大约每隔15秒钟传输一次少量数据时网络使用情况,建议通过预先获取每个请求的数据或打包上传的数据来改善网络使用效率。

图3. 使用DDMS跟踪网络的使用情况

通过监视数据传输的频率和每次连接的传输的数据量,可以识别出应用程序耗电较多的区域。通常,应该寻找那些可以被延迟的短时峰值,或是那些由于被抢占而延后的传输。

要更好的识别传输峰值所产生的原因,就要使用流量统计API,它允许你使用TrafficStats.setThreadStatsTag()方法来标记线程内部发生的数据传输情况,也可以使用tagSocket()和untagSocket()方法手动的标记(和解除标记)单独的网络套接字。例如:

TrafficStats.setThreadStatsTag(0xF00D);
TrafficStats
.tagSocket(outputSocket);
// Transfer data using socket
TrafficStats.untagSocket(outputSocket);

ApacheHttpClientURLConnection类库会基于当前的getThreadStatsTag()方法的返回值来自动的标记网络套接字。这些类库也可以通过活动的保持池(keep-alive pools)标记网络套接字,并在回收时解除标记。

TrafficStats.setThreadStatsTag(0xF00D);
try
{
  // Make network request usingHttpClient.execute()
} finally {
  TrafficStats.clearThreadStatsTag();
}

网络套接字标记在Android4.0以后被支持,但是实时的统计结果只会被显示在运行Android4.0.3以后的设备上。

Android 流量优化(一):模块化流量统计

有个用户说一夜间跑了几百兆的移动流量,流量是哪里产生的?是不是哪里有代码缺陷?怎样定位到问题? 于是想着把流量划分模块的统计下来,以便优化App的整体健康;     如果仅统计应用总流量,Traff...
  • focusjava
  • focusjava
  • 2016年08月12日 20:19
  • 1579

Android中TrafficStats流量监控类

这个类提供了网络流量统计,这个统计包括上传和下载的字节数和网络数据包数。需要注意的是这个统计不能在所有的平台上使用,如果设备不支持的话,就会返回UNSUPPORTED。常用函数:public stat...
  • hp910315
  • hp910315
  • 2015年09月14日 20:19
  • 2829

Android TrafficStats之setThreadStatsTag()

Android TrafficStats
  • kuanshang
  • kuanshang
  • 2017年11月29日 16:16
  • 56

使用DDMS 测试应用网络连接传输状态

Android 提供的DDMS调试工具中有一个NetWork调试窗口,如下图所示: 在这个窗口中,可以查看到当前手机在哪个时刻进行了速度为多少的网络访问操作。 窗口下方的tag用来显示进行...
  • hhzz1504042001
  • hhzz1504042001
  • 2014年12月17日 16:52
  • 1405

Android---优化下载让网络访问更高效(一)

本文译自:http://developer.android.com/training/efficient-downloads/efficient-network-access.html 使用无线传输...
  • FireOfStar
  • FireOfStar
  • 2013年11月21日 21:24
  • 2232

Android---优化下载让网络访问更高效(一)

本文译自:http://developer.android.com/training/efficient-downloads/efficient-network-access.html 使用无线传输...
  • qianxiangsen
  • qianxiangsen
  • 2016年07月28日 15:05
  • 147

Android---优化下载让网络访问更高效(四)

使用DDMS网络流量工具来识别关注的区间 Android的DDMS(Dalvik Debug Monitor Server)包含了详细的网络使用情况选项卡,这使得跟踪应用程序使用网络情况成为可能...
  • qianxiangsen
  • qianxiangsen
  • 2016年07月28日 15:09
  • 125

Android---优化下载让网络访问更高效(三)

批处理传输和连接 每次启动一个连接---跟传输的数据大小无关---在使用典型的3G无线信号时,就会潜在的导致无线信号消耗近20秒的电量。 如果一个应用程序每隔20秒ping一次服务器,只是告知该应...
  • qianxiangsen
  • qianxiangsen
  • 2016年07月28日 15:06
  • 117

Android---优化下载让网络访问更高效(二)

预先获取数据 预先获取数据是一种有效的减少大量的独立的数据传输会话的方法。它允许基于一个连接,在给定的单一时间周期内,满负荷的下载所有的需要的数据。 通过提前下载,可以减少大量的下载数据所需的无线...
  • qianxiangsen
  • qianxiangsen
  • 2016年07月28日 15:05
  • 125

Android---优化下载让网络访问更高效(三)

批处理传输和连接 每次启动一个连接---跟传输的数据大小无关---在使用典型的3G无线信号时,就会潜在的导致无线信号消耗近20秒的电量。 如果一个应用程序每隔20秒ping一次服务器,只是告知该应...
  • FireOfStar
  • FireOfStar
  • 2013年12月04日 18:42
  • 1780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android---优化下载让网络访问更高效(四)
举报原因:
原因补充:

(最多只允许输入30个字)