在取消订阅后领域是否关闭数据库

时间:2016-08-18 11:31:40

标签: android realm rx-java

如果我这样做:

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()还是必须手动拨打电话?

1 个答案:

答案 0 :(得分:0)

  

unsubscribe()会在内部调用realm.close()还是我必须手动调用它?

它不会为你关闭这个领域,你必须手动完成。

您可以为单个领域实例进行多次订阅,取消订阅任何这些订阅都不应该关闭该领域,因为您可能仍希望使用其他订阅。

另请参阅Realm提供的RxJava example project

另请注意,Subscription是一个RxJava类,而不是Realm类。它甚至不知道你正在使用Realm,因此如果它关闭了这个领域会很奇怪。