OkHttp

物理质量

使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)这2个jar包,总大小差不多400k,加上自己的封装,差不多得410k。

功能介绍

Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端。OkHttp 提供了对 HTTP/2 和 SPDY 的支持,并提供了连接池,GZIP 压缩和 HTTP 响应缓存功能。

优点

  1. 支持http请求,https请求。
  2. 支持文件下载。
  3. 使用的是HttpURLConnection,不要担心android版本的变换。(至少目前是都支持的)。
  4. 支持get,post请求。
  5. 基于Http的文件上传。
  6. 加载图片。

缺点

  1. 比如callback回来是在线程里面, 不能刷新UI,需要我们手动处理。
  2. 封装比较麻烦。

Volley

物理质量

使用Volley 需要Volley.jar(120k),加上自己的封装最多140k。

功能简述

Volley是Goole在2013年Google I/O大会上推出了一个新的网络通信框架,它是开源的。Volley 的特点:特别适合数据量小,通信频繁的网络操作。

优点

  1. 非常适合进行数据量不大,但通信频繁的网络操作。
  2. 内部分装了异步线程。
  3. 支持get,post网络请求。
  4. 图片下载。
  5. 可直接在主线程调用服务端并处理返回结果。
  6. 可以取消请求,容易扩展,面向接口编程。

缺点

  1. 对大文件下载 Volley的表现非常糟糕。
  2. 只支持http请求。
  3. 在BasicNetwork中判断了statusCode(statusCode < 200 || statusCode > 299),如果合条件直
  4. 图片加载性能一般。
  5. 使用的是httpclient,HttpURLConnection。不过在android 6.0不支持httpclient了,如果想支持得添加org.apache.http.legacy.jar。

总结

在我们当前的项目 xxxSDK,xxx商城里面,使用volley就可以了,毕竟经过了日活几十万的测试,至少稳定性是没有问题的。okhttp暂时还用不上。后续如果要使用okhttp,可以再深入okhttp,给项目做重构。
不过既然转战android studio,网络请求还是推荐使用Retrofit2

转载于:https://www.cnblogs.com/fanzhiguo/p/6038021.html

OkHttp和Volley对比相关推荐

  1. HttpClient、OKhttp、RestTemplate对比

    一.三者的对比 HttpClient:代码复杂,还得操心资源回收等.代码很复杂,冗余代码多,不建议直接使用. RestTemplate: 是 Spring 提供的用于访问Rest服务的客户端, Res ...

  2. Okhttp、Volley和Gson的简单介绍和配合使用

    1.okhttp是一个高效的.快速的被谷歌认可的,支持HTTP/2和SPDY volley是一个方便网络任务库,可以负责请求.加载.缓存等同步问题,也可以处理图片.JSON.文本操作起来比较简单 gs ...

  3. 跨平台微信网络开源Mars与网络框架Okhttp、Volley、Retrofit,Cookie持久化

    > 1. Mars 移动端IM网络层跨平台组件库Mars- https://github.com/Tencent/mars Android.iOS.OS X 平台的 demo(微信开源Mars的 ...

  4. 【转载】Android 面试总结

    Android面试整理 本文转载自 xiao_nian 的Android面试整理 本文转载自 xiao_nian 的Android面试整理 本文转载自 xiao_nian 的Android面试整理 一 ...

  5. Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]

    本文翻译自:Comparison of Android networking libraries: OkHTTP, Retrofit, and Volley [closed] Two-part que ...

  6. 【MDCC 2015】开源选型之Android三大图片缓存原理、特性对比

    from: http://www.csdn.net/article/2015-10-21/2825984 [CSDN现场报道]10月14日-16日," 2015移动开发者大会 · 中国&qu ...

  7. anroid 图片处理加载对比(image loader,Picasso ,glide,fresco)

    Android 三大图片缓存原理.特性对比 这是我在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事. 从总体设计和原理上对几个图片缓存进行对比,没用到他们 ...

  8. Android之三大图片缓存原理、特性对比

    一. 四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用.   Picasso 是 Square 开源的项目,且他的主导者是 JakeWhar ...

  9. Android 三大图片缓存原理、特性对比

    一. 四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用. Picasso 是 Square 开源的项目,且他的主导者是 JakeWharto ...

最新文章

  1. 智能理财在国内国外的发展现状
  2. MyBatis——insert错误[Could not set property ‘id‘ of ‘class‘ with value ‘xxx‘]解决方案
  3. libc.so.6linux查找,Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17' not found 的解决办法...
  4. 2-3:C++快速入门之缺省参数
  5. 言情小说通用情节[转]
  6. 类似endnote_除了EndNote,竟还有如此强大的文献管理软件!重点是正版免费!
  7. Authorization loop detected on Conduit with realm “WSMAN“
  8. shader实现飞线效果(three.js练习)
  9. win7服务器如何还原系统教程,怎么快速处理win7系统架设本地服务器的还原技巧...
  10. 2022年要怎么把PayPal里的美元提到国内?
  11. 难道主键除了自增就是GUID?支持k8s等分布式场景下的id生成器了解下
  12. lt;江山美人gt;为何淡季赢得高票房
  13. 1003a+-*/b
  14. 大卫·波拉克(David Pollak)和迪克·沃尔(Dick Wall)讨论了采用Scala的障碍
  15. C语言学习—给学习C语言初学者的建议
  16. IF: 8+ 基于单细胞 RNA-seq 构建非小细胞肺癌免疫反应的中性粒细胞预后模型
  17. 张筑生老师:真正的教授,学术的典范,应该给这类人最好的环境
  18. SpringBoot+Vue打造公司货物订单管理系统
  19. 详解APM数据采样与端到端
  20. 信息安全工程师考试大纲(2016)二

热门文章

  1. java第一季_Java入门第一季
  2. c++ h264RTP接收和发送程序
  3. 【java】java 模拟 实现一个 ThreadPoolExecutor
  4. 【clickhouse】ClickHouse基础、实践、调优全视角解析
  5. 【kafka】kerberos client is being asked for a password not available to garner authentication informa
  6. 【FLink】Flink exactly once 每次都是产生一个新的生产者吗?
  7. 【Elasticsearch】关于 Analyzers 的一切,第2部分
  8. 【clickhouse】clickhouse 原生监控
  9. 【clickhouse】Clickhouse 集成 presto
  10. 【Flink】Flink RecordWriterOutput pushToRecordWriter InterruptedException