Volley框架的原理剖析-->

Volley的主要特点:

  1.扩展性强.Volley中大多数都是基于接口的设计,可配置性强.

  2.一定程度符合Http规范,包括返回ResponseCode的处理,请求头的处理,缓存机制的支持等.并支持重试及优先级定义.

  3.默认Android2.3及以上基于HttpURLConnection,2.3以下基于HttpCllient.

  4.提供简便的图片加载工具.

Volley主要是通过两种Dispatch Thread不断从RequestQueue中取出请求,根据是否已缓存调用CacheNetwork这两类数据获取接口之一,从内存缓存或是服务器取得请求的数据,然后交由ResponseDelivery去做结果分发及回调处理。

  Volley 的调用比较简单,通过 newRequestQueue(…) 函数新建并启动一个请求队列RequestQueue后,只需要往这个RequestQueue不断 add Request 即可。

  Volley:Volley 对外暴露的 API,通过 newRequestQueue(…) 函数新建并启动一个请求队列RequestQueue

  Request:表示一个请求的抽象类。StringRequestJsonRequestImageRequest 都是它的子类,表示某种类型的请求。

  RequestQueue:表示请求队列,里面包含一个CacheDispatcher(用于处理走缓存请求的调度线程)、NetworkDispatcher数组(用于处理走网络请求的调度线程),一个ResponseDelivery(返回结果分发接口),通过 start() 函数启动时会启动CacheDispatcherNetworkDispatchers

//----------------------------------------------------------------------------------------------

  Volley.java是个工具类,作用是构建一个可用于添加网络请求的RequestQueue对象.

  Volley.java 有两个重载的静态方法。

  public static RequestQueue newRequestQueue(Context context)

  public static RequestQueue newRequestQueue(Context context, HttpStack stack)

  第一个方法的实现调用了第二个方法,传 HttpStack 参数为 null。
  第二个方法中,如果 HttpStatck 参数为 null,则如果系统在 Gingerbread 及之后(即 API Level >= 9),采用基于 HttpURLConnection 的 HurlStack,如果小于 9,采用基于 HttpClient 的 HttpClientStack。

  RequestQueue.java:Volley框架的核心类,将请求Request加入到一个运行的RequestQueue里面,来完成请求操作.

转载于:https://www.cnblogs.com/aWay01/p/5256414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值