谈谈网络库和Retrofit
本文目录如下
- 网络模块需要具备什么能力
- 为什么Retrofit是个好选择
- Retrofit业务分析
- Retrofit技术点
- 设计模式
一.网络模块需要具备什么能力?
常见的需求下图:
下面解释一下重要的部分.
1.支持缓存
为了让页面快速展现,很多页面需要先加载缓存.
通用策略是
1.先加载缓存;
2.然后做网络请求
3.网络请求成功后刷新页面,并且更新缓存数据
这里涉及到,缓存要存在哪里. 一般也是两种方案:
- 业务侧做缓存. 每个页面自己维护缓存,一般存在db/sp/文件系统中
- 网络侧做缓存, 业务做网络请求的时候,可以要求返回缓存数据.
方案1:适用于存储需要检索数据的情况. 比如数据存在db中,可以用sql查询. 缺点是业务侧需要实现缓存策略,较麻烦.
方案2: 业务侧调用简单,适用场景非常广泛.
所以在网路侧支持缓存, 是一个
