如果我这样做:
Realm realm = Realm.getDefaultInstance();
Subscription subscription = realm.where(Person.class).findAllAsync().asObservable()
.filter(persons.isLoaded)
.subscribeOn(Scheduler.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
...
subscription.unsubscribe();
unsubscribe()
会在内部拨打realm.close()
还是必须手动拨打电话?
答案 0 :(得分:0)
unsubscribe()会在内部调用realm.close()还是我必须手动调用它?
它不会为你关闭这个领域,你必须手动完成。
您可以为单个领域实例进行多次订阅,取消订阅任何这些订阅都不应该关闭该领域,因为您可能仍希望使用其他订阅。
另请参阅Realm提供的RxJava example project。
另请注意,Subscription是一个RxJava类,而不是Realm类。它甚至不知道你正在使用Realm,因此如果它关闭了这个领域会很奇怪。