Java 在Realm中使用静态getter安全吗?
这个问题是我上一个问题的续集: 使用像这样方便的静态getter安全吗Java 在Realm中使用静态getter安全吗?,java,android,static,realm,Java,Android,Static,Realm,这个问题是我上一个问题的续集: 使用像这样方便的静态getter安全吗 public static List<ItemRealm> getListByBar(String bar){ Realm realm = Realm.getDefaultInstance(); RealmResults<ItemRealm> rtn = realm.where(ItemRealm.class).equalTo("foo", bar).findAll(); //
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;
}
公共静态列表getListByBar(字符串栏){
Realm Realm=Realm.getDefaultInstance();
RealmResults rtn=realm.where(ItemRealm.class).equalTo(“foo”,bar).findAll();
//realm.close();
返回rtn;
}
根据我在上一篇文章中的评论,似乎我应该关闭这个领域,但如果我这样做,我的物品将不再可用
因为这是我在代码中经常提出的请求,所以我希望有一个委托方法
推荐的方法是什么?只有在不使用此方法管理领域生命周期的情况下,才是安全的
public static List<ItemRealm> getListByBar(Realm realm, String bar) {
//Realm realm = Realm.getDefaultInstance();
return realm.where(ItemRealm.class).equalTo("foo", bar).findAll();
//realm.close();
}
公共静态列表getListByBar(领域、字符串栏){
//Realm Realm=Realm.getDefaultInstance();
返回realm.where(ItemRealm.class).equalTo(“foo”,bar).findAll();
//realm.close();
}
虽然我想知道如果您将其公开为
列表
,因此无法为此用途添加RealmChangeListener
,您打算如何保持它的同步,但我并不真正需要RealmChangeListeners。但是这不是每个findAll()
使用的问题吗?我不确定我是否理解这个问题,但是如果结果得到更新,你似乎无法通过这种方式得到通知。我的意思是这是findAll()
返回列表的问题,而不是委托静态方法的问题,不是吗?如果结果得到更新,你似乎无法通过这种方式得到通知。请查收