Android 为什么要考虑在RxJava使用安卓?
据我所知,这有助于确保:Android 为什么要考虑在RxJava使用安卓?,android,rx-java,rx-android,Android,Rx Java,Rx Android,据我所知,这有助于确保: 订阅者总是在主线程上观察 当片段/活动被分离/停止时,观察立即停止,框架相关组件(如ui TextView等)不会更新 但是,为了确保上下文被释放(防止泄漏),我看到的大多数示例通常都说您必须执行.unsubscribe onDestroyView/onDestroy,这实际上会停止订阅,并阻止订阅方接收这些更新 所以我的问题是: 如果我通过.observeOn(AndroidSchedulers.mainThread())手动指示订阅应该发生在主线程上,那么使用And
_subscription1 = AndroidObservable.bindFragment(MyFragment.this, myCustomAwesomeObservable()) //
.subscribeOn(Schedulers.io()) //
.subscribe(...);
_subscription2 = myCustomAwesomeObservable()
.subscribeOn(Schedulers.io()) //
.observeOn(AndroidSchedulers.mainThread()) //
.subscribe(...);
@Override
public void onDestroyView() {
_subscription1.unsubscribe();
_subscription2.unsubscribe();
super.onDestroyView();
}
没错。AndroidObservable.bindFragment当前所做的是: 此帮助程序将安排在主UI线程上观察给定的序列,并确保在计划完成活动时不会将通知转发给该活动 --部分源代码注释 因此,使用哪种实现并没有什么区别
但是,使用AndroidObservable仍然是一个好主意,因为将来可以添加额外的功能。自从RxAndroid 1.0发布以来,它就不存在了。我想你可以说它已经被弃用或停止使用了。我认为不再使用它是一个好主意。啊,这是关于额外功能的一个好观点ng添加了AndroidObservable路线。