AndroidHttpClient和DefaultHttpClient

Eug*_*ene 20 java android

这两者之间有很大差异,最好使用哪一个?

小智 27

基于Android源代码:

https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106

AndroidHttpClient设置为执行以下额外设置:

  1. 关闭过时检查,因为连接可能会一直中断.
  2. 设置ConnectionTimeout和SoTimeout(20或60秒)
  3. 关闭重定向.
  4. 使用SSL套接字的会话缓存.
  5. 如果可能,请在客户端和服务器之间使用gzip压缩流量.
  6. 默认情况下不保留cookie.


Arv*_*rve 10

AndroidHttpClient:Apache的子类,DefaultHttpClient配置了合理的默认设置和Android注册方案,还允许用户添加HttpRequestInterceptor类.此客户端处理cookie但默认情况下不保留它们.要保留cookie,只需添加一个cookie商店即可HttpContext

[ API ]

  • 公平地说,这并不完全正确.如果仔细查看文档,它不是子类.我相信AndroidHttpClient内部使用DefaultHttpClient作为委托,但不公开任何公共方法(除了那些接口开始).. (9认同)
  • `AndroidHttpClient`在内部使用`DefaultHttpClient`. (2认同)