Retrofit2
一个用于 Android 和 Java 平台的类型安全的网络请求框架。Retrofit 通过将 API 抽象成 Java 接口而让我们连接到 REST web 服务变得很轻松。
OKhttp3
一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势
RxJava2
- ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。实时数据处理是一件普通的现象,有一个高效、干净和可扩展的方式来处理这些情景是重要的。
- 使用 Observables 和 Operators 来熟练操作它们。ReactiveX 提供一个可组合又灵活的 API 来创建和处理数据流,同时简化了异步编程带来的一些担忧。如:线程创建和并发问题。
- 简单点来说:就是一个观察者通过订阅被观察者,依据被观察者的一些变化做出相应的动作,观察者可以改变被观察者的生活状态。
简单介绍Retrofit、OKHttp和RxJava之间的关系:
Retrofit:Retrofit是Square公司开发的一款针对Android 网络请求的框架(底层默认是基于OkHttp 实现)。
OkHttp:也是Square公司的一款开源的网络请求库。
RxJava :”a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。RxJava使异步操作变得非常简单。
各自职责:
- Retrofit 负责 请求的数据 和 请求的结果,使用 接口的方式 呈现
- OkHttp 负责请求的过程
- RxJava 负责异步,各种线程之间的切换。
网友评论