前言
Rxjava
由于其基于事件流的鏈?zhǔn)秸{(diào)用稠曼、邏輯簡潔 & 使用簡單的特點,深受各大 Android
開發(fā)者的歡迎客年。
如果還不了解RxJava霞幅,請看文章:Android:這是一篇 清晰 & 易懂的Rxjava 入門教程
- 今天漠吻,carson今天將采用 圖文的方式 解析
Rxjava
的基本原理,希望大家會喜歡司恳。
Carson帶你學(xué)RxJava系列文章侥猩,包括 原理、操作符抵赢、應(yīng)用場景欺劳、背壓等等,請關(guān)注看文章:Android:這是一份全面 & 詳細(xì)的RxJava學(xué)習(xí)指南
目錄
1. 定義
-
RxJava
在GitHub
的介紹:
RxJava:a library for composing asynchronous and event-based programs using observable sequences for the Java VM
// 翻譯:RxJava 是一個在 Java VM 上使用可觀測的序列來組成異步的铅鲤、基于事件的程序的庫
- 總結(jié):
RxJava
是一個 基于事件流划提、實現(xiàn)異步操作的庫
2. 作用
實現(xiàn)異步操作
類似于
Android
中的AsyncTask
、Handler
作用
3. 特點
由于 RxJava
的使用方式是:基于事件流的鏈?zhǔn)秸{(diào)用邢享,所以使得 RxJava
:
- 邏輯簡潔
- 實現(xiàn)優(yōu)雅
- 使用簡單
更重要的是鹏往,隨著程序邏輯的復(fù)雜性提高,它依然能夠保持簡潔 & 優(yōu)雅
4. 生活例子引入
我用一個生活例子引入 & 講解 Rxjava
原理: 顧客到飯店吃飯
5. 原理介紹
5.1 概述
Rxjava
原理 基于 一種擴(kuò)展的觀察者模式骇塘,整個模式中有4個角色:
角色 | 作用 | 類比 |
---|---|---|
被觀察者(Observable) | 產(chǎn)生事件 | 顧客 |
觀察者(Observer) | 接收事件伊履,并給出響應(yīng)動作 | 廚房 |
訂閱(Subscribe) | 連接 被觀察者 & 觀察者 | 服務(wù)員 |
事件(Event) | 被觀察者 & 觀察者 溝通的載體 | 菜式 |
5.2 具體描述
請結(jié)合上述 顧客到飯店吃飯 的生活例子理解:
5.3 總結(jié)
RxJava
原理可總結(jié)為:
- 被觀察者
(Observable)
通過 訂閱(Subscribe)
按順序發(fā)送事件 給觀察者(Observer)
- 觀察者
(Observer)
按順序接收事件 & 作出對應(yīng)的響應(yīng)動作。具體如下圖:
至此款违,關(guān)于RxJava
原理講解完畢唐瀑。
6. 總結(jié)
- 本文主要對
Rxjava
的原理進(jìn)行圖文講解 - Carson帶你學(xué)RxJava系列文章:
入門
Carson帶你學(xué)Android:這是一篇清晰易懂的Rxjava入門教程
Carson帶你學(xué)Android:面向初學(xué)者的RxJava使用指南
Carson帶你學(xué)Android:RxJava2.0到底更新了什么?
原理
Carson帶你學(xué)Android:圖文解析RxJava原理
Carson帶你學(xué)Android:手把手帶你源碼分析RxJava
使用教程:操作符
Carson帶你學(xué)Android:RxJava操作符教程
Carson帶你學(xué)Android:RxJava創(chuàng)建操作符
Carson帶你學(xué)Android:RxJava功能性操作符
Carson帶你學(xué)Android:RxJava過濾操作符
Carson帶你學(xué)Android:RxJava組合/合并操作符
Carson帶你學(xué)Android:RxJava變換操作符
Carson帶你學(xué)Android:RxJava條件/布爾操作符
實戰(zhàn)
Carson帶你學(xué)Android:什么時候應(yīng)該使用Rxjava插爹?(開發(fā)場景匯總)
Carson帶你學(xué)Android:RxJava線程控制(含實例講解)
Carson帶你學(xué)Android:圖文詳解RxJava背壓策略
Carson帶你學(xué)Android:RxJava哄辣、Retrofit聯(lián)合使用匯總(含實例教程)
Carson帶你學(xué)Android:優(yōu)雅實現(xiàn)網(wǎng)絡(luò)請求嵌套回調(diào)
Carson帶你學(xué)Android:網(wǎng)絡(luò)請求輪詢(有條件)
Carson帶你學(xué)Android:網(wǎng)絡(luò)請求輪詢(無條件)
Carson帶你學(xué)Android:網(wǎng)絡(luò)請求出錯重連(結(jié)合Retrofit)
Carson帶你學(xué)Android:合并數(shù)據(jù)源
Carson帶你學(xué)Android:聯(lián)想搜索優(yōu)化
Carson帶你學(xué)Android:功能防抖
Carson帶你學(xué)Android:從磁盤/內(nèi)存緩存中獲取緩存數(shù)據(jù)
Carson帶你學(xué)Android:聯(lián)合判斷
歡迎關(guān)注Carson_Ho的簡書
不定期分享關(guān)于安卓開發(fā)的干貨,追求短赠尾、平力穗、快,但卻不缺深度气嫁。