我使用Restore realm database方法备份和恢复数据库。一切都工作正常,但后来我注意到,点击恢复数据库,它恢复数据库,但在下次启动或重新启动应用程序时更新它。有没有什么办法可以在不重新启动应用程序的情况下使用恢复的Realm数据库?
答案 0 :(得分:0)
您需要关闭所有打开的Realm实例,然后覆盖Realm文件,然后重新打开实例,并重新查询RealmResults。
从技术上讲,getGlobalInstanceCount必须返回0
才能可靠地将Realm复制到另一个上。
public static int getGlobalInstanceCount(RealmConfiguration configuration) {
final AtomicInteger globalCount = new AtomicInteger(0);
RealmCache.invokeWithGlobalRefCount(configuration, new RealmCache.Callback() {
@Override
public void onResult(int count) {
globalCount.set(count);
}
});
return globalCount.get();
}