简介
retrofit本身并没有缓存。
如果想缓存,它要么必须让retrofit之上的应用层知道你的域和如何缓存事物,或它需要在retrofit之下HTTP client层知道HTTP的语义。
OkHttp是由Square发布的一个HTTP client,它支持高速缓存服务器响应的语义。如果服务器的响应具有Cache-Control头,例如,它将被缓存,以便随后的请求可以从高速缓存中的获得之前的资源。
因此,设备处于断网情况下,retrofit与OKHttp配合可以实现缓存。
官方文档说明,安卓开发应避免使用Enum(枚举类),因为相比于静态常量Enum会花费两倍以上的内存。参 http://developer.android.com/training/articles/memory.html#Overhead
那么如果需要使用Enum应该怎么做呢?
如果你还没有听说过Android Support Annotations 函数库,你将错过一个整洁的新软件包,它有助于你捕获程序中的bugs。该函数库包含了许多的Java注解,用于帮助Android Studio检测代码中可能存在的错误,并报告给开发者。注解类型有很多种,本文将只介绍其中几种,请一定要自己阅读文档以了解本文未介绍的其他注解类型。
json格式在移动端开发中再熟悉不过了,相较xml等格式,json有易读、体积小等优点。在解析json格式时,个人比较习惯使用Google的gson工具包,之前看过gson和阿里fastjson的性能比较,貌似gson在数据量不大时性能更好。目前项目级别使用gson完全能够胜任。
开始的时候使用gson只是简单的新建Gson实例,调用from方法解析成对应model类。随着业务发展和http模块的升级,简单的toJson和from方法已经不能满足需求了。因为接口返回数据的差异性,不同情形下可能使用不同的解析策略,最简单的方法当然是针对每个接口返回的数据使用相对应的model,但这样很容易造成model对象过多过杂难以管理和分辨。另外接口返回数据命名策略也可能因人而异,下划线和驼峰式都有可能,为了保证Application端代码的一致性,就要想办法把下划线风格的转为驼峰式风格。这些需求gson通通能够解决。
对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西。