我的项目使用干净的架构.在这种情况下,UI层与Domain层分开.所以我认为UI层不拥有realm实例会更好.正如领域的文档建议在Activity的生命周期中管理领域实例,那么我应该如何处理领域实例呢?
为了更清楚,我的项目太重了,无法更改所有对象扩展的RealmObject.所以我使用单独的对象来持久化数据.当api调用完成时,业务对象转换为领域对象,与来自领域的查询相反.我创建这样的方法:
public void insert(T object){
final Realm realm = RealmProvider.getRealm();
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(createRealmObject(object));
}
},new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
realm.close();
}
},new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
realm.close();
}
});
}
实际上,它工作正常.但下面我不知道如何处理关闭领域实例.
public Observable
最佳答案