图片:
下面只是笼统的介绍,大家可以对比自己的想法,看看自己是不是有什么考虑不周的(如果是你实现这样一个框架的话)
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,图片请求的处理