gpt4 book ai didi

java - 关闭 Realm 实例,当我使用 RxJava 进行 Realm 查询时

转载 作者:搜寻专家 更新时间:2023-11-01 09:41:11 25 4
gpt4 key购买 nike

当我返回可观察的查询结果时,我必须在哪里关闭 Realm 实例?示例:

public Observable<RealmResults<Weather>> getWeatherForecast() {
final Realm realm = Realm.getDefaultInstance();

return realm.where(Weather.class).findAllAsync().asObservable()
.filter(RealmResults::isLoaded);
}

最佳答案

有几种情况:

  1. doOnCompleted运算符(operator):

    realm.where(Weather.class).findAllAsync().asObservable()
    .filter(RealmResults::isLoaded)
    .first()
    .doOnCompleted(new Action0() {
    @Override
    public void call() {
    realm.close();
    };
    })
  2. SubscriberonCompleted 方法中:

    getWeatherForecast()
    .subscribe(new Subscriber<Boolean>() {
    @Override
    public void onCompleted() {
    realm.close();
    }

    @Override
    public void onError(Throwable e) {

    }

    @Override
    public void onNext(Boolean aBoolean) {
    }
    });

关于java - 关闭 Realm 实例,当我使用 RxJava 进行 Realm 查询时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com