天天看点

RxJava学习笔记、思维导图

前言

一、什么是RxJava?

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

这是github地址的解释,RxJava是使用观察者队列的异步事件流链式编程框架。既然是框架,我们就需要去学习怎么使用然后再去了解原理。

二、Rxjava使用篇

参考文档: 官方文档

常见名词:

Observer(观察者) Observable(被观察者) Subscribe(订阅) Scheduler(调度器) flat(铺平) lift(转化)

Operator(操作者)

概念

  • Observer:观察者
  • Observable:被观察者
  • Subscribe:订阅

回调

  • onNext():事件触发
  • onCompleted():事件队列完结。不会有新的

    onNext()

    发出,触发

    onCompleted

  • onError():事件队列异常。事件处理发生异常,

    onError()

    会触发,同时队列自动终止,不允许再有事件发出。

onCompleted()

onError

只会触发一个(互斥),而且都是最后一个事件。

Observer

调度器 Scheduler

  • Schedule.io()

    :核心线程为1的 ScheduledThreadPool

SubscribeOn(): 指定

subscribe()

发生的线程,即

Observable.onSubscribe()

被激活所处的线程,事件产生的线程。

observeOn():Subscribe运行的线程,事件消费线程。

变换

map:

flatmap:

三、RxJava原理篇

四、适用场景

  • Retrofit

    结合
  • RxBinding
  • 异步操作
  • RxBus

思维导图

RxJava学习笔记、思维导图

参考:

RxJava简洁封装之道

Android响应式编程时代——RxJava

关于RxJava最友好的文章(初级篇)