Android:图文解析带你快速了解RxJava原理

3,368 阅读3分钟
原文链接: www.jianshu.com

前言

  • Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。
Github截图

如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程

  • 今天,carson今天将采用 图文的方式 解析 Rxjava的基本原理,希望大家会喜欢。
示意图

目录

示意图

1. 定义

  • RxJavaGitHub 的介绍:
RxJava:a library for composing asynchronous and event-based programs using observable sequences for the Java VM
// 翻译:RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库
  • 总结:RxJava 是一个 基于事件流、实现异步操作的库

2. 作用

实现异步操作

类似于 Android中的 AsyncTaskHandler作用


3. 特点

由于 RxJava的使用方式是:基于事件流的链式调用,所以使得 RxJava

  • 逻辑简洁
  • 实现优雅
  • 使用简单

更重要的是,随着程序逻辑的复杂性提高,它依然能够保持简洁 & 优雅


4. 生活例子引入

我用一个生活例子引入 & 讲解 Rxjava原理: 顾客到饭店吃饭

示意图 示意图

5. 原理介绍

5.1 概述

Rxjava原理 基于 一种扩展的观察者模式,整个模式中有4个角色:

角色 作用 类比
被观察者(Observable) 产生事件 顾客
观察者(Observer) 接收事件,并给出响应动作 厨房
订阅(Subscribe) 连接 被观察者 & 观察者 服务员
事件(Event) 被观察者 & 观察者 沟通的载体 菜式

5.2 具体描述

请结合上述 顾客到饭店吃饭 的生活例子理解:

示意图 示意图

5.3 总结

RxJava原理可总结为:

  • 被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer)
  • 观察者(Observer) 按顺序接收事件 & 作出对应的响应动作。具体如下图:
示意图

至此,关于RxJava原理讲解完毕。


6. 总结

  • 本文主要对 Rxjava 的原理进行图文讲解
  • 接下来,我将持续推出 AndroidRxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等
示意图

请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读


欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度