這個(gè)插件讓你可以使用你選擇的調(diào)度器覆蓋默認(rèn)的計(jì)算、IO和新線程調(diào)度 (Scheduler),要做到這些,需要繼承 RxJavaSchedulersHook 類并覆寫這些方法:
Scheduler getComputationScheduler(?)Scheduler getIOScheduler(?)Scheduler getNewThreadScheduler(?)Action0 onSchedule(action)然后是下面這些步驟:
RxJavaSchedulersHook 子類的對象。RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。RxJavaPlugins 的 registerSchedulersHook(?) 方法。完成這些后,RxJava會開始使用你的方法返回的調(diào)度器,而不是內(nèi)置的默認(rèn)調(diào)度器。
這個(gè)插件讓你可以注冊一個(gè)函數(shù)處理傳遞給 Subscriber.onError(Throwable) 的錯(cuò)誤。要做到這一點(diǎn),需要繼承 RxJavaErrorHandler 類并覆寫這個(gè)方法:
void handleError(Throwable e)然后是下面這些步驟:
RxJavaErrorHandler 子類的對象。RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。RxJavaPlugins 的 registerErrorHandler(?) 方法。完成這些后,RxJava會開始使用你的錯(cuò)誤處理器處理傳遞給 Subscriber.onError(Throwable) 的錯(cuò)誤。
這個(gè)插件讓你可以注冊一個(gè)函數(shù)用于記錄日志或者性能數(shù)據(jù)收集,RxJava在某些常規(guī)活動時(shí)會調(diào)用它。要做到這一點(diǎn),需要繼承 RxJavaObservableExecutionHook 類并覆寫這些方法:
| 方法 | 何時(shí)調(diào)用 |
|---|---|
| onCreate(?) | 在 Observable.create(?)方法中 |
| onSubscribeStart(?) | 在 Observable.subscribe(?)之前立刻 |
| onSubscribeReturn(?) | 在 Observable.subscribe(?)之后立刻 |
| onSubscribeError(?) | 在Observable.subscribe(?)執(zhí)行失敗時(shí) |
| onLift(?) | 在Observable.lift(?)方法中 |
然后是下面這些步驟:
RxJavaObservableExecutionHook 子類的對象。RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。RxJavaPlugins 的 registerObservableExecutionHook(?) 方法。When you do this, RxJava will begin to call your functions when it encounters the specific conditions they were designed to take note of. 完成這些后,在滿足某些特殊的條件時(shí),RxJava會開始調(diào)用你的方法。