rxjava用法(持续更新...)

###rxjava的语法
1.线程切换
subscribeOn:指定被观察者的执行线程,也就是Observable
observerOn:指定观察者执行的线程,也就是Subscriber
关于Scheduler,rxjava为我们提供了以下几个Scheduler
1).Schedulers.immediate():直接在当前线程运行,相当于不指定线程。这是默认的Scheduler
2).Schedulers.newThread():总是启用新线程,并在新线程中执行操作
3).Schedulers.io():I/O操作(读写文件,读写数据库,网络信息交互等)。行为模式和newThread
差不多,区别在于io()内部实现是用一个无数量上线的线程池,可以重用空闲的线程,因此多数
情况下io()比newThread更有效率。不要把计算工作放到io()中,可以避免创建不必要的线程
4).Schedulers.computation():计算所使用的Scheduler。这个计算指的是CPU密集型计算,即不会
被I/O等操作限制性能的操作,例如图形的计算。这个Scheduler是使用固定的线程池,大小为
cpu核数。不要把IO操作放在computation中,否则IO操作的等待时间会浪费cpu.
5).AndroidSchedulers.mainThread():它指定的操作将在Android主线程中操作。
(参考)https://www.jianshu.com/p/ecfb9d68d2a2


2.map和flatMap操作符的区别
1).map:当我们想要一个返回对象里面的集合的时候,就可以使用map操作符,通过map操作符可以将
对象里面的集合获取到返回出去
2).flatMap:当我们在Subscriber中要打印一个集合里面的某个值得时候,一般做法是用for循环,但
是现在就可以使用flatmap代替,flatmap可以将每一个集合里面的对象返回到Subscriber里。
(参考)https://www.jianshu.com/p/52cd2d514528


3.Func1和Action1的区别
1).Func1有返回值,Action没有返回值。


4.timer/interval/delay的区别
案例

end
Thanks
可能是东半球最全的RxJava使用场景小结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值