常用Android开源组件比较(二)

常用Android开源组件比较(二)_第1张图片

上一篇,我们整理了Android图像加载方面的几个开源组件特性比较,本次分享网络请求框架方面的常用开源组件,可直接看图。

常用Android开源组件比较(二)_第2张图片

文字版:

1、Volley

1.1 Google发布的一个网络请求框架,专门为移动设备定制,小而美

1.2 技术特性

1.2.1 将具体的请求做了封装,默认使用HttpUrlConnection

1.2.2 默认支持ImageLoader,支持简单的图片加载功能

1.2.3 支持取消正在进行的网络事务请求

1.2.3.1 取消某个请求

1.2.3.2 取消请求队列

1.2.4 默认支持缓存管理

1.2.5 支持网络请求排序和优先级管理

1.2.6 使用场景:不适合大数据量的网络操作(比如下载视频、音频)

1.2.7 使用场景:适合轻量级网络交互,网络请求频繁,传输数据量小

1.3 易用性:使用方便

1.4 技术支持

1.4.1 资料较多

1.4.2 已经停止维护

2、Retrofit

2.1 Square发布的基于OkHttp的一套REST风格的网络请求框架的封装库

2.2 技术特性

2.2.1 高度解耦

2.2.1.1 通过注解来配置请求参数

2.2.1.1.1 方法注解

2.2.1.1.2 参数注解

2.2.1.2 通过工厂模式来生成请求适配器CallAdapter

2.2.1.3 可以使不同的CallAdapter

2.2.1.3.1 RxJava

2.2.1.3.2 Guava

2.2.1.3.3 Java8

2.2.1.4 可以使用不同的Converter

2.2.1.4.1 json

2.2.1.4.2 xml

2.2.1.4.3 protobuff

2.2.2 支持取消正在进行的网络事务请求(Call)

2.2.3 默认使用Okhttp作为网络请求客户端

2.2.4 支持配置拦截器,可实现日志扩展、加密解密等功能(默认Error)

2.2.5 不自带缓存,可以使用Okhttp的缓存或者通过拦截器实现缓存管理

2.2.6 不支持网络请求的优先级管理功能

2.2.7 使用场景:适合大数据量的网络操作,例如音视频的上传下载

2.3 易用性:使用方便,门槛高于Volley

2.4 技术支持

2.4.1 使用广泛、资料丰富

2.4.2 作者仍在维护

3、拓展:关于REST

REST是使用较为广泛的分布式节点间同步通信的一种实现/软件架构风格,从语义层面将响应结果定义为资源,使用HTTP的标准动词映射为对资源的操作。REST架构风格还可以应用于异步通信过程中,例如后台系统。

其核心有四个关键部分:

资源,指某类信息实体的抽象,每个资源对于一个特定的Uri作为标识

表述

状态转移

统一接口(GET/POST/PUT/DELETE)

REST架构风格的优点:与语言无关、与平台无关,有利于服务/应用的水平伸缩和横向扩展。

------------------------

欢迎关注星禾笔记,可获取更多内容,不限于技术。

你可能感兴趣的:(常用Android开源组件比较(二))