鍍金池/ 教程/ Android/ RxJavaSchedulersHook
調度器 Scheduler
Empty/Never/Throw
Replay
這個(gè)頁(yè)面展示了創(chuàng )建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁(yè)展示的操作符用于對整個(gè)序列執行算法操作或其它操作,由于這些操作必須等待數據發(fā)射完成(通常也必須緩存這些數據),它們對于非常長(cháng)
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng )建操作
Materialize/Dematerialize
CombineLatest
Catch
實(shí)現自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個(gè)頁(yè)面的操作符可用于根據條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個(gè)頁(yè)面展示的操作符可用于過(guò)濾和選擇Observable發(fā)射的數據序列。
這個(gè)頁(yè)面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個(gè)例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個(gè)頁(yè)面展示了可用于對Observable發(fā)射的數據執行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個(gè)頁(yè)面展示的操作符可用于組合多個(gè)Observables。
ReactiveX
Connect
操作符分類(lèi)
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

RxJavaSchedulersHook

這個(gè)插件讓你可以使用你選擇的調度器覆蓋默認的計算、IO和新線(xiàn)程調度 (Scheduler),要做到這些,需要繼承 RxJavaSchedulersHook 類(lèi)并覆寫(xiě)這些方法:

  • Scheduler getComputationScheduler(?)
  • Scheduler getIOScheduler(?)
  • Scheduler getNewThreadScheduler(?)
  • Action0 onSchedule(action)

然后是下面這些步驟:

  1. 創(chuàng )建一個(gè)你實(shí)現的 RxJavaSchedulersHook 子類(lèi)的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的默認調度器對象傳遞給 RxJavaPluginsregisterSchedulersHook(?) 方法。

完成這些后,RxJava會(huì )開(kāi)始使用你的方法返回的調度器,而不是內置的默認調度器。

RxJavaErrorHandler

這個(gè)插件讓你可以注冊一個(gè)函數處理傳遞給 Subscriber.onError(Throwable) 的錯誤。要做到這一點(diǎn),需要繼承 RxJavaErrorHandler 類(lèi)并覆寫(xiě)這個(gè)方法:

  • void handleError(Throwable e)

然后是下面這些步驟:

  1. 創(chuàng )建一個(gè)你實(shí)現的 RxJavaErrorHandler 子類(lèi)的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的錯誤處理器對象傳遞給 RxJavaPluginsregisterErrorHandler(?) 方法。

完成這些后,RxJava會(huì )開(kāi)始使用你的錯誤處理器處理傳遞給 Subscriber.onError(Throwable) 的錯誤。

RxJavaObservableExecutionHook

這個(gè)插件讓你可以注冊一個(gè)函數用于記錄日志或者性能數據收集,RxJava在某些常規活動(dòng)時(shí)會(huì )調用它。要做到這一點(diǎn),需要繼承 RxJavaObservableExecutionHook 類(lèi)并覆寫(xiě)這些方法:

方法 何時(shí)調用
onCreate(?) Observable.create(?)方法中
onSubscribeStart(?) Observable.subscribe(?)之前立刻
onSubscribeReturn(?) Observable.subscribe(?)之后立刻
onSubscribeError(?) Observable.subscribe(?)執行失敗時(shí)
onLift(?) Observable.lift(?)方法中

然后是下面這些步驟:

  1. 創(chuàng )建一個(gè)你實(shí)現的 RxJavaObservableExecutionHook 子類(lèi)的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的Hook對象傳遞給 RxJavaPluginsregisterObservableExecutionHook(?) 方法。

When you do this, RxJava will begin to call your functions when it encounters the specific conditions they were designed to take note of. 完成這些后,在滿(mǎn)足某些特殊的條件時(shí),RxJava會(huì )開(kāi)始調用你的方法。