为什么我们需要在 Rx 中使用 Compositedisposable 而之前在普通 Java 中使用的是什么?

问题描述

我习惯用java开发android应用。

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

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

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

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...