我正在开发一个带有领域的笔记应用程序。我想添加备份和还原功能。所以我一直在实现this page中介绍的这些功能。这是用户场景。
如果我重新启动应用程序,它会很好用。但我想立即刷新新数据。如果我没有重新启动我的应用程序,它会很奇怪。所以我的问题是如何重新加载恢复的领域数据库,以便在没有重新启动应用程序的情况下显示恢复的数据。
答案 0 :(得分:2)
在将temp.realm
复制到default.realm
之前,必须关闭所有打开的引用旧default.realm
的Realm实例,这一点非常重要。由于这些实例仍然保存文件描述符,并且复制后新打开的Realm实例将保存不同的文件描述符,并且Realm仍然认为它们是同一个Realm,因为路径完全相同。这是Realm无法处理的情况,可能会发生一些奇怪的事情。
您可以先致电Realm.deleteRealm()
删除旧版default.realm
。如果要删除的realm文件中有任何其他Realm实例,则该API将抛出。