volley2--volley的使用和架构
2024-08-27 12:08:32
图片:
下面只是笼统的介绍,大家可以对比自己的想法,看看自己是不是有什么考虑不周的(如果是你实现这样一个框架的话)
1,Request的设计,我们在得到response之后,我们可能根据项目需求希望有不同形式的数据(例如string,bitmap,jsonObject),volley使用抽象编程,让我们可以继承Request实现自己对response的解析方式(意味着处理volley为我们提供的StringRequest类等,我们自定义request)
2,重试策略,网络请求可能因为网络原因失败(例如手机断网了),volley为我们提供了重试策略
3,终止请求,例如请求数据途中,我们希望终止该请求
4,request在队列中优先级的问题,例如我们有的请求比较紧迫,就应该排在队列的前面
5,重复请求的问题,利用有多个相同的request在队列之中,请求到其中一个,其他的可能就不必请求了,直接从缓存中取
6,异常的处理,例如io,403,402等授权错
7,地址重定向处理
8,网络问题的处理,例如我们断网了,volley使用了network这个类来处理这一类问题
9,使用HttpClient还是url.openConnection()去请求数据呢?
10,缓存的读取和存储,我们请求到网络数据以后,可以存入本地缓存
11,如何设置请求日志来记录请求信息,用于调试?
12,对于缓存写入和读取的效率优化
13,图片请求的处理
最新文章
- web Worker使js实现‘多线程’?
- [Cocos2D-x For WP8]Tile Map创建地图
- PowerDesigner生成SQL Server 2008脚本注释乱码的问题
- python通过win32api轻松获取控件的属性值
- nyoj-----127星际之门(一)
- [Introduction to programming in Java 笔记] 1.3.7 Converting to binary 十进制到二进制的转换
- libevent for qt网络模块
- Java日志管理
- 在线阅读PDF文件js插件——pdf.js
- selenium 环境搭建
- Spring MVC的文件上传
- HTMLTestRunner测试报告中文乱码问题解决
- 面试题:两种方法计算n!
- tp5学习
- bzoj1912 树形dp求直径(新写法),求直径的两端点
- 记录一则xtts测试遇到的诡异现象
- Python3 tkinter基础 Button command 单击按钮 在console中打印文本
- POJ 2583
- e830. 向JTabbedPane中加入一个卡片
- 微信小程序获取用户手机号
热门文章
- Thread.Sleep(1000) 、Task.Delay(1000).Wait() 区别
- spring中排除某个类
- Xml解析过程中遇到“” 1 字节的 UTF-8 序列的字节 1 无效“”问题---idea与eclipse同适用
- MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法
- sql中字符串连接
- redis系统和通用函数
- Android运行时权限开启问题
- 【angular5项目积累总结】优秀组件以及应用实例
- MYSQL DATE_FORMAT() 函数时间大小比较
- ComBox、listBox、checklistBox控件