Retore Realm数据库自动更新

时间:2016-11-28 09:32:44

标签: android realm

我使用Restore realm database方法备份和恢复数据库。一切都工作正常,但后来我注意到,点击恢复数据库,它恢复数据库,但在下次启动或重新启动应用程序时更新它。有没有什么办法可以在不重新启动应用程序的情况下使用恢复的Realm数据库?

1 个答案:

答案 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();
}