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参数