首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >RxJava2 create()警告

RxJava2 create()警告
EN

Stack Overflow用户
提问于 2018-10-18 04:32:15
回答 1查看 82关注 0票数 0

阅读来自this article的主题#2,很明显,正确使用create()可能涉及几个问题,例如:

  • 取消注册取消订阅对象时的回调(否则会导致内存泄漏)
  • 仅在订阅者仍在处理上游错误时使用onNext或onCompleted发出事件使用onError
  • Handle backpressure

但是,看到来自RxJava2开发人员的示例,比如this one,在没有任何进一步检查或警告的情况下使用create(),这让我想知道create()的问题有多深

如果我想要可以随时推送一个值的Subject,就像那个链接中的那个:

代码语言:javascript
复制
Subject<Integer> subject = BehaviorSubject.<Integer>create().toSerialized();

Observable<Integer> observable = subject.observeOn(AndroidSchedulers.mainThread());

observable.subscribe(System.out::println);

subject.onNext(1)

使用 create() 是可以的,还是也很危险?如何知道我们什么时候需要保护 create() 排放,什么时候我们不需要保护?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 06:51:34

Observable.create(OnSubscribe)BehaviorSubject.create()的create不同。后者始终是安全的,因为它创建了一个最终的和预先实现的BehaviorSubject,这是一个 Observable

Observable.create(OnSubscribe)用于从头开始设置cold Observable,并要求开发人员正确实现整个可观察协议。它很容易出错,而且在1.x的后期版本中,create(OnSubscribe)方法已被弃用。有关更多详细信息,请阅读其javadoc

在RxJava 2中,两种类型的create方法都是安全的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52863154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档