你的位置:首页 > 软件开发 > 操作系统 > Volley学习(Volly分析)

Volley学习(Volly分析)

发布时间:2015-05-01 15:01:36
记录下学习心得: Volley是android平台上的网络通讯库,能使网络通信更快,更简单,更便捷。Volly适合数据量不大但是通信频繁的场景。 先贴下Volley的架构图: Volley框架设计的主要几个 ...

Volley学习(Volly分析)

   记录下学习心得:

   Volley是android平台上的网络通讯库,能使网络通信更快,更简单,更便捷。Volly适合数据量不大但是通信频繁的场景。

   先贴下Volley的架构图:

   Volley学习(Volly分析)

         Volley框架设计的主要几个类是Request(以及Volley提供的子类ImageRequest,StringRequest,JsonReques等),Volly,RequestQueue,CacheDispatcher,DiskBasedCache,NetworkDispatcher,BasicNetWork,HurlStack(HttpClientStack),ByteArrayPool,NetworkResponse,ExcutorDeliery(按照从新建一个Request请求到请求得到处理的顺序写的)。

       下面的分析也是按照请求从创建到得到处理的顺序来完成的。

        在Volley框架中,Request的管理是由RequestQueue来控制的。当我创建一个新的Request请求时,先创建一个RequestQueue对象,

       RequestQueue= Volley.newRequestQueue(context);

      看下newRequestQueue里面做了什么。

 public static RequestQueue newRequestQueue(Context context, HttpStack stack) {    File cacheDir = new File(context.getCacheDir(), DEFAULT_CACHE_DIR);    String userAgent = "volley/0";    try {      String packageName = context.getPackageName();      PackageInfo info = context.getPackageManager().getPackageInfo(packageName, 0);      userAgent = packageName + "/" + info.versionCode;    } catch (NameNotFoundException e) {    }    if (stack == null) {      if (Build.VERSION.SDK_INT >= 9) {        stack = new HurlStack();      } else {        // Prior to Gingerbread, HttpUrlConnection was unreliable.        // See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html        stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent));      }    }    Network network = new BasicNetwork(stack);    RequestQueue queue = new RequestQueue(new DiskBasedCache(cacheDir), network);    queue.start();    return queue;  }

原标题:Volley学习(Volly分析)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录