异步网络请求框架Volley源码解析
Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。本专栏对Volley的架构设计和优化策略进行了详细的解读,结合Volley源码,希望给大家讲述一个网络框架的设计过程。
crazy__chen
只要有一个人爱我,懂我,愿意等我,我便勇往直前,无所不能。
展开
-
定制Volley,实现加载本地和资源图片
volley加载网络图片众所周知volley提供了一个ImageLoader类用于网络图片的加载,本质上也是用消息队列的那一套去进行图片请求,只是请求以后做了一些图片本地缓存、缩放、错位处理等内容。 下面我们来看一个简单的加载例子: public RequestQueue requestQueue = Volley.newRequestQueue(mContext);public Imag原创 2015-11-03 15:12:09 · 3672 阅读 · 1 评论 -
volley源码解析(七)--最终目的之Response<T>
在上篇文章中,我们最终通过网络,获取到了HttpResponse对象HttpResponse是android包里面的一个类,然后为了更高的扩展性,我们在BasicNetwork类里面看到,Volley将其包装成一个Volley自己的对象NetworkResponse另外,在BasicNetwork类中我们也注意到,对HttpResponse包装成NetworkResponse的过程中,使用原创 2015-06-24 00:30:59 · 3195 阅读 · 1 评论 -
volley源码解析(六)--HurlStack与HttpClientStack之争
Volley中网络加载有两种方式,分别是HurlStack与HttpClientStack,我们来看Volley.java中的一段代码if (stack == null) {//如果没有限定stack if (Build.VERSION.SDK_INT >= 9) {//adk版本在9或者以上 stack = new HurlStack(原创 2015-06-23 22:16:29 · 3318 阅读 · 1 评论 -
volley源码解析(五)--NetworkDispatcher从网络中获取数据
上一篇文章当中,我介绍了CacheDispatcher和缓存类Cache是怎么根据request从缓存中获取到数据的,接下来这篇文章,将会介绍网络数据的获取。对比缓存的获取,其实我们也有两个类,一个是NetworkDispatcher,一个是Network,前者是线程,后者是对抽象的网络的实体化。这样的设计方式也是值得我们学习的,因为Network会负责处理网络请求过程中遇到的各种问题,这原创 2015-06-15 21:02:10 · 3067 阅读 · 1 评论 -
volley源码解析(四)--CacheDispatcher从缓存中获取数据
从上一篇文章我们已经知道,现在要处理的问题就是CacheDispatcher和NetworkDispatcher怎么分别去缓存和网络获取数据的问题,这两个问题我分开来讲。但是首先说明的是,这两个问题其实是有联系的,当CacheDispatcher获取不到缓存的时候,会将request放入网络请求队列,从而让NetworkDispatcher去处理它;而当NetworkDispatcher获原创 2015-06-15 17:33:42 · 2307 阅读 · 1 评论 -
volley源码解析(三)--Volley核心之RequestQueue类
上一篇文章给大家说明了Request的内部结构,对于这个类而言,volley让我们关注的主要请求获得响应以后,怎么根据自己的需要解析响应,然后在主线程中回调监听器的方法,至于是怎么获得响应的,线程又是怎么开启的,都跟Request无关。前面已经提到,Request会放在队列里面等待线程的提取,RequestQueue类作为volley的核心类,可以说是连接请求与响应的桥梁。另外,Request原创 2015-06-15 01:46:34 · 3609 阅读 · 3 评论 -
volley源码解析(二)--Request<T>类的介绍
在上一篇文章中,我们已经提到volley的使用方式和设计的整体思路,从这篇文章开始,我就要结合具体的源码来给大家说明volley功能的具体实现。我们第一个要介绍的类是Request<T>这个一个抽象类,我将Request称为一个请求,通过继承Request<T>来自定义request,为volley提供了更加灵活的接口。原创 2015-06-15 01:44:57 · 3572 阅读 · 1 评论 -
volley源码解析(一)--volley的使用和架构
Volley是一款由Google 推出的 Android 异步网络请求框架和图片加载框架原创 2015-06-15 01:43:40 · 4509 阅读 · 2 评论