z-chu / RxCache

简单一步,缓存搞定。这是一个专用于 RxJava,解决 Android 中对任何 Observable 发出的结果做缓存处理的框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GsonDiskConverter 转换问题

shiweibsw opened this issue · comments

当返回结果是一个List类型而不是普通的Object时,如果使用GsonDiskConverter转换,首次加载内存没有问题,但是退出应用后(后台也清除),再次冷启动,就会报错,ClassCastException: com.google.gson.internal.LinkedTreeMap, 初步确定是Gson解析泛型造成的,请问有好的修改建议解决这个问题吗?

好的了解了。
GsonDiskConverter读取时的Class类型其实是在LruDiskCache缓存时通过value.getClass()拿到Class,再将Class以Serializable的形式存到的硬盘的,应该是没对List<~>这样的泛型做处理导致的。

static class Temp{
List<~> list;
}
着急的话可以先这样解决。

2.0.2已修复,但需要多加一个Type参数