Android 偶尔返回错误结果的领域查询
我注意到,当我最近更新了某个类的一个对象,并试图获取这些对象的列表时,最近更新的对象返回的值是错误的 它不是每次都发生,但偶尔也会发生 数据被正确插入RealmDB中 我使用下面的代码片段从领域中获取Android 偶尔返回错误结果的领域查询,android,realm,Android,Realm,我注意到,当我最近更新了某个类的一个对象,并试图获取这些对象的列表时,最近更新的对象返回的值是错误的 它不是每次都发生,但偶尔也会发生 数据被正确插入RealmDB中 我使用下面的代码片段从领域中获取 public static <T extends RealmModel> ArrayList<T> fetchAllForKey(Class<T> clazz, String key, boolean value) { Realm realm = Rea
public static <T extends RealmModel> ArrayList<T> fetchAllForKey(Class<T> clazz, String key, boolean value) {
Realm realm = Realm.getInstance(new RealmConfiguration.Builder().build());
RealmQuery query = realm.where(clazz);
query.equalTo(key, value);
RealmResults<T> results = query.findAll();
ArrayList<T> list = realm.copyFromRealm(realmResults);
realm.close;
return list;
}
publicstaticarraylistfetchallforkey(类clazz,字符串键,布尔值){
Realm Realm=Realm.getInstance(新RealmConfiguration.Builder().build());
RealmQuery=realm.where(clazz);
query.equalTo(键,值);
RealmResults results=query.findAll();
ArrayList list=realm.copyFromRealm(realmResults);
realm.close;
退货清单;
}
我在RealmDB中有5个对象,当我使用上面的函数进行提取时,我会得到一个大小为5的列表,但有时它会返回一个大小为4的列表,即使我将数据保存在DB中,在后续提取时,它也会返回大小为5的列表
我正在试图找出realm返回错误值的原因以及缓解此问题的方法。我认为这与您正在从非循环器后台线程进行复制有关,可能是在某个地方使用未关闭的本地realm实例,而不是依赖RealmChangeListener。我也面临着同样的问题。。这是因为未关闭的领域实例,