RxJava 和 RxAndroid - 我需要两者吗?

RxJava and RxAndroid - Do I need both?

有一个类似的问题,但它并没有真正回答问题。

我一直在我的 Android 应用程序中使用 RxJava 和 RxAndroid,现在该项目可以运行了。

然后我去掉了RxJava,只留下了RxAndroid,项目继续运行。 但是,我对 RxJava 和 RxAndroid 的了解还不够,无法知道只留下 RxAndroid 是否会丢失长 运行.

中的内容

我读到的关于 RxAndroid 的所有内容都是它是 RxJava 的扩展,但从拥有 RxJava 的所有东西 + 一些 Android 特定内容(比如 Android调度程序)?

无论如何我都需要吗?保留两个依赖项是否有缺点?

谢谢。

您只能声明 RxAndroid,RxJava 将被拉取,因为它是一个传递依赖。

但是,您可以在 RxAndroid 的 README 中找到以下注释:

RxAndroid releases are few and far between, it is recommended you also explicitly depend on RxJava's latest version for bug fixes and new features.

如果您将 RxJava 添加到您的依赖项中,如果您需要一些重要的修复或功能,您可以随时升级 RxJava,而无需等待 RxAndroid 的新版本。

我假设你为你的 Android 项目使用 Gradle 构建系统,在这种情况下,你的问题实际上与它有关,而不是与 RxJava 或 RxAndroid 有关。

假设您的 build.gradle 文件中有两个依赖项:RxJava 和 RxAndroid。当您删除 RxJava 依赖项时,Gradle 仍会查看 RxAndroid 依赖项以找出它传递依赖的内容。

RxAndroid:1.1.0 depends RxJava:1.1.0。因此,如果您删除的行明确指定您想要 RxJava:1.1.2 在您的项目中,它将降级回 1.1.2 -> 1.1.0.