【进阶android】Volley源码分析——总述

    本文将从三个方面来对Volley进行综述:Volley是什么?为什么要分析Volley?怎样分析Volley?   

一、volley是什么?

         volley,对于Android开发师,尤其是接触Android网络开发的程序员而言,并不陌生;在Google看来,volley只是一种用以传递网络数据的工具;对于一般的程序员看来,volley无非是几个封装完美的接口;然而在本文看来,volley是一种设计,一种提炼,一种流程。

        上面一段话,从三个方面解释了volley是什么;然而我们可以从更本质来解释:在英语之中:volley这个单词表示群射,齐射(箭、子弹、抢、炮、等); 迸发(质问,咒骂等的);那么从这个角度上,我们可以把每一个网络请求当成一个子弹,因而volley中的网络请求将以迸发、齐射的方式进行发起。

       此外,volley也包含了一套强大的缓存机制,无论是对网络请求的缓存,还是对网络响应,volley都有着良好的实现或者良好的支持;并且这种缓存本身也是建立在HTTP协议之上。

      最后,Android将volley定义为一个框架,既然是一个框架,那么它可扩展性必然是良好的;而其良好的可扩展则主要承载与框架本身的良好设计之上。

       说了如此之多,其实上面所述皆可总结成一句话:volley是一个可扩展的,具有良好缓存机制的,以迸发方式处理网络请求的网络框架。

二、为什么要分析Volley?

      在google的官网上,主要总结了Volley八个好处,分别如下:

      1、网络请求的自动调度;如何自动调度?在Android之中,或者Java之中最好的方式无疑是线程,而Volley之中自然也是使用的此种方式,而除了线程作为基础,Volley自然也定义了一些列相应的流程,要了解这些线程及相关流程的定义,最好的方式自然就是直接分析Volley框架。

       2、多个并发的网络连接;每个网络的连接,都可看作是一个网络请求的流程,而不同流程之间的并发处理,在Volley的源码之中也有相应的处理。

       3、透明的硬盘-内存响应缓存机制,该机制与HTTP协议缓存机制具有紧密的耦合;这一特点是Volley源码之中的另一侧重点(还有一个侧重点就是并发网络连接的实现),分析Volley源码即可知道这一机制是如何实现。

       4、支持请求的优先级;

       5、能够取消请求,或者批次量取消一组请求;

       6、灵活的扩展,例如可以个性化定制Volley的重连机制;

       7、能够更容易的通过从网络上异步获取的数据,来正确的将其解析成一个UI;例如一张图片,一个字符串等;volley则通过不同的解析Response策略来实现这一特点;

       8、良好的调试及跟踪(本系列文章不讨论次特点);

三、怎样分析Volley?

      本系列将通过五篇文章详细分析Volley框架的源码实现,目录如下:

      1、【进阶android】Volley源码分析——Volley的流程

      2、【进阶android】Volley源码分析——Volley的线程

      3、【进阶android】Volley源码分析——Volley的缓存

      4、【进阶android】Volley源码分析——Volley的工具【StringRequest】

      5、【进阶android】Volley源码分析——Volley的工具【ImageLoader】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值