Kau*_*pal 17 android rx-java rx-android
据我所知,AndroidObservable有助于确保:
但是,为了确保上下文被释放(防止泄漏),我看到的大多数示例通常都说你必须做.unsubscribe onDestroyView/onDestroy,这实质上会停止订阅,并阻止订阅者接收这些更新.
所以我的问题是:
如果我通过.observeOn(AndroidSchedulers.mainThread()手动指示订阅应该在主线程上发生,那么使用AndroidObservables还有其他优势吗?
以下两种方法有什么不同吗?
_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();
}
Run Code Online (Sandbox Code Playgroud)
你是对的.AndroidObservable.bindFragment目前所做的是:
此帮助程序将调度在主UI线程上观察的给定序列,并确保在计划完成时不会将任何通知转发到活动.
- 源代码评论的一部分
因此,它并没有真正改变您使用的实现.
但是,使用AndroidObservable仍然是一个好主意,因为将来可以添加额外的功能.
| 归档时间: |
|
| 查看次数: |
3031 次 |
| 最近记录: |