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,接着网络调度线程将处理该请求,并解析数据。
spa

如何取消请求

   Volley经过调用cancel()方法取消一个请求,并保证请求不会在Response中回调处理,你能够在activity中的onStop中取消全部你想取消的请求,最简单的方法就是给全部想取消的请求调用setTag(TAG)设置标记,而后放进请求队列,在Activity的onStop方法中调用cancelAll(TAG)方法取消请求。线程

相关文章
相关标签/搜索