Volley

 Volley的介绍:

Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。

Volley从服务器端请求字符串数据,图片数据,和JSON格式数据。Volley可以写出标准化的模板代码,并让我们更加关注于我们的业务逻辑,这对于我们的App来说是非常重要的。

Volley 的特点:

Volley 的主要特点

  •  自动的调度网络请求
  •  多并发的网络请求
  •   可以缓存http请求
  •  支持请求的优先级
  •  支持取消请求的API,可以取消单个请求,可以设置取消请求的范围域。
  •  代码标准化,使开发者更容易专注于我们的业务的逻辑处理
  •  更容易给UI填充来自网络请求的数据
  •  Volley可以是作为调试和跟踪的工具
  • 扩展性强。Volley 中大多是基于接口的设计,可配置性强。
  • 一定程度符合 Http 规范,包括返回 ResponseCode(2xx、3xx、4xx、5xx)的处理,请求头的处理,缓存机制的支持等。并支持重试及优先级定义。
  • 默认 Android2.3 及以上基于 HttpURLConnection,2.3 以下基于 HttpClient 实现
  • 提供简便的图片加载工具。

Volley的优缺点:

特别适合数据量小,通信频繁的网络操作。不适合大的文件流操作,例如上传和下载。因为Volley会把所有的服务器端返回的数据在解析期间缓存进内存。大量的下载操作可以考虑用DownLoaderManager和异步加载来实现。

Volley的工作原理

      为了发送一个请求,你可以通过构造方法new出来一个Request,然后调用add()把请求添加进RequestQueue中,当调用add方法时,Volley会运行一个缓存处理线程和一个网络调度线程池.如果请求被缓存线程已经缓存的话,请求将不会放进请求队列,也就是说不会发出Http请求。而会直接复用请求,并将数据返回到主线程。如果缓存线程中没有缓存到请求的话,请求将会放进请求队列,网络请求成功后, 请求将会被缓存进cache,接着网络调度线程将处理该请求,并解析数据。

如何取消请求

   Volley通过调用cancel()方法取消一个请求,并保证请求不会在Response中回调处理,你可以在activity中的onStop中取消所有你想取消的请求,最简单的方法就是给所有想取消的请求调用setTag(TAG)设置标记,然后放进请求队列,在Activity的onStop方法中调用cancelAll(TAG)方法取消请求。

 

 

原文地址:https://www.cnblogs.com/czh-/p/5761480.html