@cxm-2016
2016-11-28T01:33:21.000000Z
字数 1614
阅读 2522
RxJava学习指南
版本:1
整理:陈小默
插件让你可以用多种方式修改RxJava的默认行为:
这个插件让你可以使用你选择的调度器覆盖默认的计算、IO和新线程调度 (Scheduler),要做到这些,需要继承 RxJavaSchedulersHook 类并覆写这些方法:
Scheduler getComputationScheduler( )Scheduler getIOScheduler( )Scheduler getNewThreadScheduler( )Action0 onSchedule(action)然后是下面这些步骤:
RxJavaSchedulersHook 子类的对象。RxJavaPlugins.getInstance( ) 获取全局的RxJavaPlugins对象。RxJavaPlugins 的 registerSchedulersHook( ) 方法。完成这些后,RxJava会开始使用你的方法返回的调度器,而不是内置的默认调度器。
这个插件让你可以注册一个函数处理传递给 Subscriber.onError(Throwable) 的错误。要做到这一点,需要继承 RxJavaErrorHandler 类并覆写这个方法:
void handleError(Throwable e)然后是下面这些步骤:
RxJavaErrorHandler 子类的对象。RxJavaPlugins.getInstance( ) 获取全局的RxJavaPlugins对象。RxJavaPlugins 的 registerErrorHandler( ) 方法。完成这些后,RxJava会开始使用你的错误处理器处理传递给 Subscriber.onError(Throwable) 的错误。
这个插件让你可以注册一个函数用于记录日志或者性能数据收集,RxJava在某些常规活动时会调用它。要做到这一点,需要继承 RxJavaObservableExecutionHook 类并覆写这些方法:
| 方法 | 何时调用 |
|---|---|
| onCreate() | 在Observable.create()方法中 |
| onSubscribeStart() | 在Observable.subscribe()之前立刻 |
| onSubscribeReturn() | 在Observable.subscribe()之后立刻 |
| onSubscribeError() | 在Observable.subscribe()执行失败时 |
| 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.
完成这些后,在满足某些特殊的条件时,RxJava会开始调用你的方法。
