BoxStoreBuilder.usePreviousCommit 如何在内部运作?

how BoxStoreBuilder.usePreviousCommit works internally?

我将我的 android 应用程序从 mapdb 转换为 objectbox,我在 github 上看到一些人报告 objectbox 数据库损坏,解决方案一直是在出现问题时调用 usePreviousCommit .

由于 objectbox 核心是闭源的,我想知道 usePreviousCommit 在内部做了什么

我打开这个问题是因为在我继续在生产中使用它之前我想从 objectbox 获得更多信息。

关键字是multiversion-concurrency。想一想具有写时复制功能的 B+ 树。之前的根树(又名之前的提交)被保留下来,所以你可以在打开时使用。