这个问题是我之前的续集:Is it safe to use ActiveRecord pattern with Realm?
使用像这样的方便的静态吸气剂是否安全?
public static List<ItemRealm> getListByBar(String bar){
Realm realm = Realm.getDefaultInstance();
RealmResults<ItemRealm> rtn = realm.where(ItemRealm.class).equalTo("foo", bar).findAll();
//realm.close();
return rtn;
}
根据我在上一篇文章中的评论,似乎我应该关闭这个领域,但是如果我这样做我的项目就不再可用了。
因为这是我在代码中经常发出的请求,我希望有一个委托方法。
这样做的推荐方法是什么?
答案 0 :(得分:0)
如果您的Realm生命周期是在此方法之外进行管理,那么它是唯一安全的。
public static List<ItemRealm> getListByBar(Realm realm, String bar) {
//Realm realm = Realm.getDefaultInstance();
return realm.where(ItemRealm.class).equalTo("foo", bar).findAll();
//realm.close();
}
虽然我想知道如果你将它作为List<>
公开,你打算如何保持同步,因此无法添加RealmChangeListener
。