专栏首页Android知识分享Android:图文解析带你快速了解RxJava的底层原理

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

前言

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

如果还不了解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 的一系列文章,包括原理、操作符、应用场景、背压等等

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android RxJava实际应用案例讲解:使用RxJava的最佳开发场景

    Carson.Ho
  • Android:手把手带你入门神秘的 Rxjava

    即RxJava原理可总结为:被观察者 (Observable) 通过 订阅(Subscribe) 按顺序发送事件 给观察者 (Observer), 观察者(O...

    Carson.Ho
  • Android RxJava:这是一份面向初学者的RxJava使用指南

    更重要的是,随着程序逻辑的复杂性提高,它依然能够保持简洁 & 优雅。所以,一般建议使用这种基于事件流的链式调用方式实现RxJava。

    Carson.Ho
  • 反应式编程 RxJava 设计原理解析

    ReactiveX 的全称为Reactive Extension,一般缩写为 Rx,即我们平常所说的反应式编程。其设计原理主要使用了观察者模式,区分数据的生产者...

    2020labs小助手
  • jquery基础事件

    一.常用的事件有:click、dblclick、 mousedown、mouseup、mousemove、mouseover、mouseout、change、s...

    wfaceboss
  • 四种常见的 POST 提交数据方式

    我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。协议...

    无邪Z
  • 关于浏览器Ajax请求Type为Request Payload而不是Form Data

    試毅-思伟
  • ES6特性之:类

    面向对象编程是一个很流行也很让人容易理解的方法。面向对象编程中的一个核心概念就是类,我们可以把事物都抽象成一个个的类来描述他们的信息和行为。

    一斤代码
  • python︱批量操作文件(os)、图片操作技巧(下载网络图片、skimage.io)

    7数据量大了,什么情况都有可能会发生。 . 一、遍历操作文件 1、文件名字获取 相关帖子: 一句python,一句R︱模块导入与查看、数据读写出入、数据查看...

    素质
  • python 直接调用django的model

    小贝壳

扫码关注云+社区

领取腾讯云代金券