Volley 优缺点总结

文章转载至:https://blog.csdn.net/jiankeufo/article/details/54880364 作者:南岸青栀

南岸青栀 所作文章我大致浏览了部分,都写的很棒

本来在分析完Volley的用法和部分源码之后,想自己总结一下Volley的特点,在搜索之后发现南岸青栀写分这篇非常棒,所以无耻的转载了做个记录,希望勿怪,

Volley到底有哪些特点呢?

  • 自动调度网络请求
  • 多个并发的网络连接
  • 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
  • 支持请求优先级
  • 支持取消请求的强大API,可以取消单个请求或多个
  • 易于定制
  • 健壮性:便于正确的更新UI和获取数据
  • 包含调试和追踪工具

Volley优点

  1. 可以取消请求
  2. 容易扩展,面向接口编程
  3. 网络请求线程NetworkDispatcher默认开启了4个,可以优化,通过手机CPU数量

Volley缺点

  1. 在BasicNetwork中判断了statusCode(statusCode < 200 || statusCode > 299),如何符合条件直接抛出IOException(),不够合理

  2. 导致401等其他状态抛出IOException 
    解决方案 : 
    http://blog.csdn.net/kufeiyun/article/details/44646145 
    http://stackoverflow.com/questions/30476584/android-volley-strange-error-with-http-code-401-java-io-ioexception-no-authe

  3. 图片加载性能一般

Volley的优点
1)一个缓存线程 ,4个网络线程
2)缓存时间根据Cache-Control和Expires首部来计算缓存的过期时间
3)默认 Android2.3 及以上基于 HttpURLConnection,2.3 以下基于 HttpClient 实现
4)接口设计比较多,Network接口
5)支持重试和优先级设置
6)特别适合数据量小,通信频繁的网络操作

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Volley 优缺点总结 - HelloWorld