首页 > 解决方案 > 为什么我们需要在 Rx 中使用compositedisposable 以及之前在普通 java 中使用的是什么?

问题描述

我习惯于使用 java 开发 android 应用程序。

现在我正在学习 Kotlin、Reactivex 和 MVVM。我遇到了一个compositedisposable概念

据我了解,如果用户离开活动,它有助于取消例如 API 调用。

以前在java中如何处理这种情况?我从来不需要取消 api 调用,为什么它在 rx 中?

标签: javaandroidsystem.reactivereactivex

解决方案


这不是因为 Kotlin 或 Rx。它是 Java 和任何其他语言或框架中的东西。

假设您有一个长时间运行的异步操作。它是线程、RxJava 还是协程或您使用的任何异步框架都没有关系。当应用程序完成时,您应该取消这个长时间运行的操作(如果您不再需要结果)以释放内存或 CPU 等资源。

在 RxJava 中,您可以使用Disposableor CompositeDisposable(它只是Disposable's 的集合)来取消这些操作。


推荐阅读