此Realm实例已关闭,使其无法使用

时间:2016-08-02 10:22:59

标签: android realm

当我在多个设备中执行某些测试时,我在多个设备中出现了这样的错误(5%-10%)。我找不到如何重现它的步骤,但我想要注意,我只有一个主要的Activity和很多片段。我在onCreate()方法中只打开了一个realm实例,并在onDestroy()方法中关闭它。

我创建单个实例的类:

private static Realm realm = null;

public static Realm getInstance(){
    if(realm == null || realm.isClosed())
        realm = Realm.getDefaultInstance();
    return realm;
}

我在Application类中设置了realm config。主要活动代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    RealmBuilder.getInstance();
    RealmBuilder.getStaticRealmInstance(getApplicationContext());

    ...
}

@Override
protected void onDestroy() {
    RealmBuilder.getInstance().close();
}

我不会在主线程中的其他位置关闭realm实例。你知道为什么我有时会遇到这个错误吗?

0 个答案:

没有答案