首先:总体来看OkHttp和NoHttp、Volley不是一个层面的框架,直接比较有些不妥。下面分别简述:


1、Okhttp和HttpClient、HttpURLConnection或Apache的HttpClient是同等级别的,他们是网络客户端,不仅Android能用,java也能用,所以在Android中想要用要进行封装以提供简单的API使用。

OKHttp非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。从Android4.4开始HttpURLConnection的底层实现采用的是okHttp.


2、Volley是Google基于HttpClient + HttpURLConnection来封装的,针对短、频、快的网络请求推出的一款框架。Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕


3、NoHttp是基于HttpURLConnection来封装的,它的优势在于封装的功能强大,性能也可以。简述如下:

(1)支持HTTP/HTTPS,自动维持Cookie,异步/同步请求,大文件/多文件上传,文件下载,断点续传。

(2)支持304缓存,302/303重定向,支持通过代理服务器访问地址。

(3)NoHttp是队列,自动为请求排队,可以取消指定请求,可以取消队列所有请求,亦可以停止队列。

(4)支持请求String、Bitmap、JsonObject、可自定义扩展请求类型(demo中的FastJsonRequest等)

(5)API使用简单,Request对象包涵参数、文件、请求头等;Response对象包涵响应内容, 响应头等信息。


总结:

(1)如果你的应用场景是频繁短暂的网络交互不涉及大文件的上传、下载 Volley足可以满足需求,apk的升级下载要自行封装一下;

(2)如果你想更省事、更简单的开发可以使用NoHttp,不过NoHttp是个人开发的,后期的维护升级是有风险的;

(3)如果想要稳定并且高效的一款网络框架,OkHttp是首选,花点时间找一个封装好的框架或者自己封装一下想要的功能就可以了。


附:OkHttp封装比较好的两个框架   在app的build.gradle文件的dependencies中加入引用即可

(1)compile 'com.zhy:okhttputils:2.6.1'
或者OkHttp母公司出品的Retrofit

(2)compile 'com.squareup.retrofit2:retrofit:2.1.0'

更多相关文章

  1. Android中用Kotlin Coroutine(协程)和Retrofit进行网络请求和取
  2. 【Android那些高逼格的写法】LinkedBlockingQueue与ArrayBlockin
  3. 如何把个人业余开源项目做到月入8万美元?
  4. Android——Handler学习笔记
  5. handler机制简析
  6. 安卓日记——超简单的开发框架afinal
  7. Android手机时间自动同步
  8. Android(安卓)进阶 教你打造 Android(安卓)中的 IOC 框架 【View
  9. Wifi 资源整理

随机推荐

  1. Android内存泄漏检查利器——LeakCanary
  2. [Skill]Android版本兼容器
  3. 基于 Android(安卓)NDK 的学习之旅-----
  4. 最强理解:Android对EditText输入时设置监
  5. Android实现仿QQ登录可编辑下拉菜单
  6. Android画布canvas rotate,translate的理
  7. Android(安卓)Broadcast Receiver 基础详
  8. 第27章、流动视图ScrollView(从零开始学An
  9. Android中线程同步
  10. Android核心分析 分析方法论探讨之设计意