JDK支持的HttpUrlConnection
HttpUrlConnection是JDK里提供的联网API,是最原始最基本的API,大多数开源的联网框架基本上也是基于此进行的封装的。HttpUrlConnection的API简单,体积小,维护方便。在2.3后在不引入第三方网络框架时建议使用HttpUrlConnection而非HttpClient。

Apache支持的HttpClient
HttpClient是开源组织Apache提供的Java请求网络框架,其最早是为了方便Java服务器开发而诞生的,是对JDK中的HttpUrlConnection各API进行了封装和简化,提高了性能并且降低了调用API的繁琐,Android因此也引进了这个联网框架,我们不需要导入任何jar或者类库就可以直接使用。值得注意的是Android官方已经宣布不建议使用HttpClient了,我们再开发的时候尽量少用吧。

OkHttp是Square公司实现的一个 Java 的 HTTP+SPDY 客户端开发包,需要Android 2.3以上。OKHttp非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。从Android4.4开始HttpURLConnection的底层实现采用的是OkHttp。

Retrofit是Square公司是一个 RESTful的 HTTP 网络请求框架的封装。Retrofit 专注于接口的封装,OkHttp 专注于网络请求的高效,二者分工协作!我们的应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作,在服务端返回数据之后,OkHttp 将原始的结果交给 Retrofit,Retrofit 根据用户的需求对结果进行解析的过程。

早期使用HttpClient,后来使用HttpURLConnection,是谷歌2013年推出的网络请求框架,非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。

Android-Async-Http是专门针对Android在Apache的HttpClient基础上构建的异步的callback-based http client。所有的请求全在UI线程之外发生,而callback发生在创建它的线程中,应用了Android的Handler消息机制。



最新文章

  1. javascript面向对象(1)
  2. RDIFramework.NETV2.9版本 Web新增至14套皮肤风格+三套界面组合(共42套皮肤组合)
  3. Ninject的使用
  4. 3、使用Oracle Logminer同步Demo
  5. [RGeos]手簿
  6. STL容器迭代器失效分析
  7. datagridview 点击列标题排序
  8. 在IOS开发中,属性名为id的处理方法
  9. 使用Iterator遍历Sheet(POI)验证及解释结果有序性
  10. Piggy Back_KEY
  11. linux下tomcat 8的安装以及tomcat启动慢问题
  12. 关于Python的那些话
  13. Kubernetes 在生产环境中常用架构
  14. IDEA+循环语句 or 输出语句 快捷操作
  15. Linux 小知识翻译 - 「RFC」
  16. Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)
  17. Html吸顶效果
  18. Set和Map数据
  19. C/C++基础----IO库
  20. selenium+python自动化87-Chrome浏览器静默模式启动(headless)

热门文章

  1. jQuery中bind,live,delegate,on的区别
  2. oslo.config
  3. Python中 *args 和 **kwargs 的区别
  4. Python 面向对象编程——访问限制
  5. Urllib库的基本用法
  6. [BZOJ4567][SCOI2016]背单词(Trie+贪心)
  7. Questions(Updating)
  8. Java并发(二十二):定时任务ScheduledThreadPoolExecutor
  9. bzoj 1176
  10. 【转载】CMarkup函数说明