领域java强制创建新的realm实例

时间:2017-12-13 14:48:07

标签: realm realm-java

如果您创建新的RealmConfiguration,然后调用Realm.getInstance(configuration)

它将使用内部缓存。如果我删除领域文件,那么创建配置调用Realm.getInstance(配置)的新实例将不会再创建新的Realm实例和领域文件(或重新加载它)。我需要强制Realm这样做并跳过或清理内部缓存。

1 个答案:

答案 0 :(得分:0)

调用realm.close();似乎完成了这项工作。但是你必须确保只捕获一个本地Realm变量或者一个close()调用不起作用。

错误的例子:

public void importRealmFile(Context context) {
    Realm realm = contexts.getImportContext().getRealm();
    Storages importStorages = new Storages(contexts.getImportContext().getRealm());
    realm.close(); // doesn't free the realm from the cache

很好的例子:

public void importRealmFile(Context context) {
    Realm realm = contexts.getImportContext().getRealm();
    Storages importStorages = new Storages(realm); 
    realm.close(); // works good