Concurrent

  
使用协程将任务移出主线程,并充分利用 ListenableFuture。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2024 年 12 月 11 日 1.2.0 - - 1.3.0-alpha01

声明依赖项

要添加 Futures 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.concurrent:concurrent-futures:1.2.0"

    // Kotlin
    implementation "androidx.concurrent:concurrent-futures-ktx:1.2.0"
}

Kotlin

dependencies {
    implementation("androidx.concurrent:concurrent-futures:1.2.0")

    // Kotlin
    implementation("androidx.concurrent:concurrent-futures-ktx:1.2.0")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.3

版本 1.3.0-alpha01

2024 年 12 月 11 日

发布了 androidx.concurrent:concurrent-futures:1.3.0-alpha01androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01。版本 1.3.0-alpha01 包含这些提交内容

bug 修复

  • 此库现在使用 JSpecify nullness annotations,即类型使用。Kotlin 开发者应使用以下编译器参数来强制执行正确的用法:-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-modeI0faf4b/326456246

版本 1.2

版本 1.2.0

2024 年 6 月 12 日

发布了 androidx.concurrent:concurrent-futures:1.2.0androidx.concurrent:concurrent-futures-ktx:1.2.0。版本 1.2.0 包含这些提交内容

自 1.1.0 以来的重要变更

版本 1.2.0-rc01

2024 年 5 月 29 日

发布了 androidx.concurrent:concurrent-futures:1.2.0-rc01androidx.concurrent:concurrent-futures-ktx:1.2.0-rc01。版本 1.2.0-rc01 包含这些提交内容

版本 1.2.0-beta01

2024 年 5 月 14 日

发布了 androidx.concurrent:concurrent-futures:1.2.0-beta01androidx.concurrent:concurrent-futures-ktx:1.2.0-beta01。版本 1.2.0-beta01 包含这些提交内容

版本 1.2.0-alpha03

2024 年 3 月 20 日

发布了 androidx.concurrent:concurrent-futures:1.2.0-alpha03androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha03。版本 1.2.0-alpha03 包含这些提交内容

bug 修复

  • 修复了 SuspendToFutureAdapter 任务抛出异常时错误处理中的 bug。(b/327629504)

版本 1.2.0-alpha02

2023 年 8 月 9 日

发布了 androidx.concurrent:concurrent-futures:1.2.0-alpha02androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha02版本 1.2.0-alpha02 中包含这些提交内容

API 变更

  • 添加了用于编写挂起-ListenableFuture 桥接的 SuspendToFutureAdapter (Ia8a66)

版本 1.2.0-alpha01

2023 年 2 月 22 日

发布了 androidx.concurrent:concurrent-futures:1.2.0-alpha01androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha01版本 1.2.0-alpha01 中包含这些提交内容

API 变更

  • ResolvableFuture 的方法中添加了正确的可为 null 性注解。(I2339fb/236474470

版本 1.1.0

版本 1.1.0

2020 年 8 月 19 日

发布了 androidx.concurrent:concurrent-futures:1.1.0androidx.concurrent:concurrent-futures-ktx:1.1.0,这两个版本与 1.1.0-rc01 相比没有变化。版本 1.1.0 中包含这些提交内容

自 1.0.0 以来的重要变更

  • 1.1.0 引入了 Kotlin 扩展,旨在帮助实现 ListenableFuture 和 Kotlin 协程之间的转换,现在这些扩展可用于 androidx.concurrent:concurrent-futures-ktx:1.1.0。此工件不可与完整版 Guava 库配合使用,而仅适用于 com.google.guava:listenablefuture,后者是 Guava 的轻量级替代,其中只包含 ListenableFuture。完整版 Guava 库的用户应改用 kotlinx.coroutines.kotlinx-coroutines-guava 中的官方 ListenableFuture 扩展。

版本 1.1.0-rc01

2020 年 7 月 22 日

发布了 androidx.concurrent:concurrent-futures:1.1.0-rc01androidx.concurrent:concurrent-futures-ktx:1.1.0-rc01,这两个版本与 1.1.0-beta01 相比没有变化。版本 1.1.0-rc01 中包含这些提交内容

版本 1.1.0-beta01

2020 年 6 月 24 日

发布了 androidx.concurrent:concurrent-futures:1.1.0-beta01androidx.concurrent:concurrent-futures-ktx:1.1.0-beta01,这两个版本与 1.1.0-alpha01 相比没有变化。版本 1.1.0-beta01 中包含这些提交内容

版本 1.1.0-alpha01

2019 年 12 月 18 日

发布了 androidx.concurrent:concurrent-futures:1.1.0-alpha01androidx.concurrent:concurrent-futures-ktx:1.1.0-alpha01版本 1.1.0-alpha01 中包含这些提交内容。这是 androidx.concurrent:concurrent-futures-ktx 的第一个版本。

新功能

  • concurrent-futures-ktx 中提供了 Kotlin 扩展,旨在帮助实现 ListenableFuture 和 Kotlin 协程之间的转换。此工件不可与完整版 Guava 库配合使用,而仅适用于 com.google.guava:listenablefuture,后者是 Guava 的轻量级替代,其中只包含 ListenableFuture。完整版 Guava 库的用户应改用 kotlinx.coroutines.kotlinx-coroutines-guava 中的官方 ListenableFuture 扩展。

API 变更

  • 添加了一个暂停 ListenableFuture.await() 扩展,可将 ListenableFuture 转换为 Kotlin 协程

版本 1.0.0

版本 1.0.0

2019 年 10 月 9 日

发布了 androidx.concurrent:concurrent-futures:1.0.0版本 1.0.0 中包含这些提交内容

1.0.0 的重要功能

androidx.concurrent:concurrent-futures:1.0.0 提供了 CallbackToFutureAdapter 类,这是一个简约的实用程序,支持封装基于回调的代码并返回 ListenableFuture 实例。如果某些库想以一种比自定义回调更简洁的方式在其 java API 中公开异步操作,但出于对库大小的考量,这些库不依赖完整版 guava 或 rx java 来采用繁重的多线程处理方式,那么这一实用程序将能在这些库中派上用场。

版本 1.0.0-rc01

2019 年 8 月 7 日

发布了 androidx.concurrent:concurrent-futures:1.0.0-rc01,该版本与 1.0.0-beta01 相比没有变化。点击此处可查看此版本中包含的提交内容。

Concurrent-ListenableFuture 版本 1.0.0-beta01

2019 年 5 月 30 日

发布了 androidx.concurrent:concurrent-listenablefuture:1.0.0-beta01androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01。点击此处可查看此版本中包含的提交内容。

这些库提供了一个与 Guava 的 ListenableFuture 接口等效的独立工件,以及一个用于转换回调的适配器。

如果开发者使用的是依赖项解析匹配较为严格的工具链,例如 Android Gradle 插件 3.4.0,那么先前发布的 androidx.concurrent:concurrent-futures 工件(提供了一个类似的适配器且包含 com.google.guava:listenablefuture 工件)可能会给他们带来问题。对于不依赖完整版 Guava 库的开发者,建议改用 androidx.concurrent:concurrent-listenablefuture-callback

版本 1.0.0-beta01

2019 年 5 月 7 日

发布了 androidx.concurrent:concurrent-futures:1.0.0-beta01。点击此处可查看此版本中包含的提交内容。

API 变更

  • ResolvableFutureAbstractResolvableFuture 已从公共 API 隐藏,取而代之的是 CallbackToFutureAdapter,它提供更安全的 API。

版本 1.0.0-alpha03

2018 年 12 月 17 日

发布了 androidx.concurrent:concurrent-futures 1.0.0-alpha03

新功能

  • 引入了 CallbackToFutureAdapter。这个新 API 更加安全,可将回调驱动型 API 封装到 ListenableFuture 中。相对于 ResolvableFuture,我们更推荐使用该 API。