Android---优化下载让网络访问更高效(四)
2016-07-28 15:09
471 查看
使用DDMS网络流量工具来识别关注的区间
Android的DDMS(Dalvik
Debug Monitor Server)包含了详细的网络使用情况选项卡,这使得跟踪应用程序使用网络情况成为可能。使用这个工具,可以监视应用程序传输数据的方式和时机,并在此基础上可以优化底层相关的代码。
图3显示了大约每隔15秒钟传输一次少量数据时网络使用情况,建议通过预先获取每个请求的数据或打包上传的数据来改善网络使用效率。
![](http://img.blog.csdn.net/20131205152220031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhpbmtfc29mdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
图3. 使用DDMS跟踪网络的使用情况
通过监视数据传输的频率和每次连接的传输的数据量,可以识别出应用程序耗电较多的区域。通常,应该寻找那些可以被延迟的短时峰值,或是那些由于被抢占而延后的传输。
要更好的识别传输峰值所产生的原因,就要使用流量统计API,它允许你使用TrafficStats.setThreadStatsTag()方法来标记线程内部发生的数据传输情况,也可以使用tagSocket()和untagSocket()方法手动的标记(和解除标记)单独的网络套接字。例如:
TrafficStats.setThreadStatsTag(0xF00D);
TrafficStats.tagSocket(outputSocket);
// Transfer data using socket
TrafficStats.untagSocket(outputSocket);
Apache的HttpClient和URLConnection类库会基于当前的getThreadStatsTag()方法的返回值来自动的标记网络套接字。这些类库也可以通过活动的保持池(keep-alive
pools)标记网络套接字,并在回收时解除标记。
TrafficStats.setThreadStatsTag(0xF00D);
try {
// Make network request usingHttpClient.execute()
} finally {
TrafficStats.clearThreadStatsTag();
}
网络套接字标记在Android4.0以后被支持,但是实时的统计结果只会被显示在运行Android4.0.3以后的设备上
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);
Apache的HttpClient和URLConnection类库会基于当前的getThreadStatsTag()方法的返回值来自动的标记网络套接字。这些类库也可以通过活动的保持池(keep-alive
pools)标记网络套接字,并在回收时解除标记。
TrafficStats.setThreadStatsTag(0xF00D);
try {
// Make network request usingHttpClient.execute()
} finally {
TrafficStats.clearThreadStatsTag();
}
网络套接字标记在Android4.0以后被支持,但是实时的统计结果只会被显示在运行Android4.0.3以后的设备上
相关文章推荐
- Android---优化下载让网络访问更高效(三)
- Android---优化下载让网络访问更高效(二)
- Android---优化下载让网络访问更高效(一)
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- 本文介绍媒体的编解码器、容器和Android平台所支持的网络协议。
- iOS开发网络篇—多线程断点下载
- iOS开发网络篇—NSURLConnection基本使用
- DNS服务器
- Spring Boot工程支持HTTP和HTTPS
- iOS开发网络篇—数据安全
- 关于http请求在ie中F12查看显示已挂起,反应时间缓慢的问题
- 现在市面上网络监控系统分析!
- android 判断网络 android 网络监控
- 【转】网络爬虫
- HTTPS系列之CA数字证书
- 网络基础知识整理
- 四、封装OkHttp
- 为什么TCP链接要三次握手而不是两次握手-雅虎
- socket通信――TCP
- 配置nginx支持ssl服务器—HTTPS