当我在多个设备中执行某些测试时,我在多个设备中出现了这样的错误(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实例。你知道为什么我有时会遇到这个错误吗?