关于安卓HTTP请求用HttpUrlConnection还是HttpClient好
推荐于2016-01-09 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
HttpClient功能更强,BUG更少,更容易控制细节
1.HttpClient是apache的开源实现,而HttpUrlConnection是安卓标准实现,安卓SDK虽然集成了HttpClient,但官方支持的却是HttpUrlConnection;
2.HttpUrlConnection直接支持GZIP压缩;HttpClient也支持,但要自己写代码处理;我们之前测试HttpUrlConnection的GZIP压缩在传大文件分包trunk时有问题,只适合小文件,不过这个BUG后来官方说已经修复了;
3.HttpUrlConnection直接支持系统级连接池,即打开的连接不会直接关闭,在一段时间内所有程序可共用;HttpClient当然也能做到,但毕竟不如官方直接系统底层支持好;
4.HttpUrlConnection直接在系统层面做了缓存策略处理,加快重复请求的速度。
1.HttpClient是apache的开源实现,而HttpUrlConnection是安卓标准实现,安卓SDK虽然集成了HttpClient,但官方支持的却是HttpUrlConnection;
2.HttpUrlConnection直接支持GZIP压缩;HttpClient也支持,但要自己写代码处理;我们之前测试HttpUrlConnection的GZIP压缩在传大文件分包trunk时有问题,只适合小文件,不过这个BUG后来官方说已经修复了;
3.HttpUrlConnection直接支持系统级连接池,即打开的连接不会直接关闭,在一段时间内所有程序可共用;HttpClient当然也能做到,但毕竟不如官方直接系统底层支持好;
4.HttpUrlConnection直接在系统层面做了缓存策略处理,加快重复请求的速度。
展开全部
简单的说:
HttpUrlConnection
早期版本的Android上的HttpUrlConnection有bug,后面修复了。Google官方维护和推荐的是HttpUrlConnection。
可以参考一下volley的实现。在sdk里面就有。
com.android.volley.toolbox.HttpClientStack是基于HttpClient的实现。
com.android.volley.toolbox.HurlStack是基于HttpURLConnection的实现。
HttpUrlConnection
早期版本的Android上的HttpUrlConnection有bug,后面修复了。Google官方维护和推荐的是HttpUrlConnection。
可以参考一下volley的实现。在sdk里面就有。
com.android.volley.toolbox.HttpClientStack是基于HttpClient的实现。
com.android.volley.toolbox.HurlStack是基于HttpURLConnection的实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询