如果我这样做:
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()
还是我必须手动调用?
将unsubscribe()内部调用realm.close()还是我必须手动调用?
它不会为你关闭服务器,你必须手动关闭。
您可以为单个领域实例拥有多个订阅,取消这些订阅中的任何一个都不会关闭该领域,因为您可能仍想使用其他订阅。
还可以查看Realm提供的RxJava示例项目。
还要注意,Subscription是一个RxJava类,而不是一个Realm类。它甚至不知道你正在使用Realm,因此如果它关闭了Realm会很奇怪。