文章转载至:https://blog.csdn.net/jiankeufo/article/details/54880364 作者:南岸青栀
南岸青栀 所作文章我大致浏览了部分,都写的很棒
本来在分析完Volley的用法和部分源码之后,想自己总结一下Volley的特点,在搜索之后发现南岸青栀写分这篇非常棒,所以无耻的转载了做个记录,希望勿怪,
Volley到底有哪些特点呢?
- 自动调度网络请求
- 多个并发的网络连接
- 通过使用标准的HTTP缓存机制保持磁盘和内存响应的一致
- 支持请求优先级
- 支持取消请求的强大API,可以取消单个请求或多个
- 易于定制
- 健壮性:便于正确的更新UI和获取数据
- 包含调试和追踪工具
Volley优点
- 可以取消请求
- 容易扩展,面向接口编程
- 网络请求线程NetworkDispatcher默认开启了4个,可以优化,通过手机CPU数量
Volley缺点
在BasicNetwork中判断了statusCode(statusCode < 200 || statusCode > 299),如何符合条件直接抛出IOException(),不够合理
导致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图片加载性能一般
Volley的优点
1)一个缓存线程 ,4个网络线程
2)缓存时间根据Cache-Control和Expires首部来计算缓存的过期时间
3)默认 Android2.3 及以上基于 HttpURLConnection,2.3 以下基于 HttpClient 实现
4)接口设计比较多,Network接口
5)支持重试和优先级设置
6)特别适合数据量小,通信频繁的网络操作