如何检查所有领域实例是否已关闭?
我想在删除数据库之前检查是否有任何域实例正在运行..我想知道有多少实例是打开的。
我已经
了getGlobalInstanceCount(myRealm.getConfiguration());
public static int getGlobalInstanceCount(RealmConfiguration configuration){
//How do I convert the configuration to int? so that I return the number of open stores
return **;
}
我不知道如何将RealmConfiguration转换为Int。返回号码
答案 0 :(得分:1)
如果要安全删除领域数据库..
如果您正在使用,请删除所有听众。
try (Realm realm = Realm.getDefaultInstance()) {
realm.executeTransaction(innerRealm -> {
innerRealm.where(DatabaseClass.class)
.findAll().deleteAllFromRealm();
// or
innerRealm.delete(DatabaseClass.class);
});
}
如果要删除特定的类/表
try-with-resourses
通过这样做,这将在当前线程上创建realm实例并关闭相同的实例。
try (Realm realm = Realm.getDefaultInstance()) {
int globalInstance = Realm.getGlobalInstanceCount(realm.getConfiguration());
int localInstance = Realm.getLocalInstanceCount(realm.getConfiguration());
}
自动关闭领域实例。
Realm没有提供立即关闭所有领域实例的技术。您只能获取实例计数。
全局实例和本地实例计数
{{1}}
答案 1 :(得分:0)
它真的只是Realm.getGlobalInstanceCount(realmConfiguration)
。