Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 一次性、一次性观察者和复合一次性观察者之间的差异_Android_Rx Java2 - Fatal编程技术网

Android 一次性、一次性观察者和复合一次性观察者之间的差异

Android 一次性、一次性观察者和复合一次性观察者之间的差异,android,rx-java2,Android,Rx Java2,它们之间的主要区别是什么 一次性的 可处置观察员 一次性复合材料 何时使用它们中的每一个一次性是一项可以取消的工作。 CompositeDisposable是一种父作业,您可以在其中添加任意多个可取消的作业(也称为一次性作业) 至于DisposableObserver,它是一个允许您在异步模式下取消它的作业 因此更清楚地说,为了避免泄漏,您需要在这些作业中执行Rx操作,并通过活动/片段生命周期管理它们的取消 例如: val disposable = Observable.fromCallab

它们之间的主要区别是什么

  • 一次性的
  • 可处置观察员
  • 一次性复合材料

何时使用它们中的每一个

一次性
是一项可以取消的工作。
CompositeDisposable
是一种父作业,您可以在其中添加任意多个可取消的作业(也称为一次性作业) 至于
DisposableObserver
,它是一个允许您在异步模式下取消它的作业

因此更清楚地说,为了避免泄漏,您需要在这些作业中执行Rx操作,并通过活动/片段生命周期管理它们的取消

例如:

val disposable = Observable.fromCallable().....
compositeDisposable.add(disposable)
在onDestroy方法中:

compositeDisposable.dispose();

至于
DisposableObserver
,请参阅,我没有太多信息

重写方法的数量是
DisposableObserver
(其中4个)和
DisposableObserver
(其中3个)之间的差异谢谢,我应该记住:)