我目前正在运行数据库的开发实例 - 其结构/模式也在处理中。结果,有时 Android 客户端会因为 RuntimeException java.lang.RuntimeException: Could not deserialize object.
而崩溃,就像内置转换器工厂需要一个 String 但收到一个 int 等。
错误很有用,因为它指出了错误的来源。然而,问题在于当我在 Firestore 后端修复数据时,它并没有立即反射(reflect)在 Android 客户端中。该应用程序尝试使用缓存数据(无效数据)填充 RecyclerView,因此每次启动时它都会崩溃,直到我完全重置该应用程序。
有没有办法通过使缓存无效或在发生时查找更新的数据来处理此错误?
最佳答案
您的生产代码必须能够适应 Firestore 中可能发生的变化。这可能不会改变,因此您应该只发布您有信心在应用中处理的更改。
在测试期间,如果您所做的更改会破坏您的应用,只需卸载并重新安装该应用即可清除缓存。
关于java - 反序列化错误时使 Firestore 缓存无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631675/