并发
最新更新 | 稳定版 | 发布候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 5 月 20 日 | 1.2.0 | - | 1.3.0-beta01 | - |
声明依赖项
要添加对 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") }
有关依赖项的更多信息,请参阅添加构建依赖项。
反馈
您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的建议,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为您关注的现有问题投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.3
版本 1.3.0-beta01
2025 年 5 月 20 日
androidx.concurrent:concurrent-futures:1.3.0-beta01
和 androidx.concurrent:concurrent-futures-ktx:1.3.0-beta01
已发布。版本 1.3.0-beta01 包含这些提交。
版本 1.3.0-alpha01
2024 年 12 月 11 日
androidx.concurrent:concurrent-futures:1.3.0-alpha01
和 androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01
已发布。版本 1.3.0-alpha01 包含这些提交。
Bug 修复
- 此库现在使用 JSpecify 空值注解,它们是类型用途注解。Kotlin 开发者应使用以下编译器参数来强制执行正确用法:
-Xjspecify-annotations=strict
(从 Kotlin 编译器 2.1.0 版开始,这是默认值)。(I0faf4, b/326456246)
版本 1.2
版本 1.2.0
2024 年 6 月 12 日
androidx.concurrent:concurrent-futures:1.2.0
和 androidx.concurrent:concurrent-futures-ktx:1.2.0
已发布。版本 1.2.0 包含这些提交。
自 1.1.0 以来的重要更改
- 添加了
SuspendToFutureAdapter
,用于将对挂起 API 的调用转换为ListenableFuture
。
版本 1.2.0-rc01
2024 年 5 月 29 日
androidx.concurrent:concurrent-futures:1.2.0-rc01
和 androidx.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-beta01
和 androidx.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-alpha03
和 androidx.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-alpha02
和 androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha02
已发布。版本 1.2.0-alpha02 包含这些提交。
API 更改
- 添加了
SuspendToFutureAdapter
用于编写 suspend-ListenableFuture
桥接器 (Ia8a66)
版本 1.2.0-alpha01
2023 年 2 月 22 日
androidx.concurrent:concurrent-futures:1.2.0-alpha01
和 androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha01
已发布。版本 1.2.0-alpha01 包含这些提交。
API 更改
ResolvableFuture
现在其方法上具有正确的空值注解。(I2339f, b/236474470)
版本 1.1.0
版本 1.1.0
2020 年 8 月 19 日
androidx.concurrent:concurrent-futures:1.1.0
和 androidx.concurrent:concurrent-futures-ktx:1.1.0
已发布,自 1.1.0-rc01
以来没有更改。版本 1.1.0 包含这些提交。
自 1.0.0 以来的主要更改
1.1.0
引入了 Kotlin 扩展,用于帮助在 ListenableFuture 和 Kotlin Coroutines 之间进行转换,现在可以通过androidx.concurrent:concurrent-futures-ktx:1.1.0
获得。此工件旨在与com.google.guava:listenablefuture
一起使用,而不是完整的 Guava 库,它是一个轻量级的 Guava 替代品,只包含 ListenableFuture。对于完整的 Guava 库用户,您应该改用kotlinx.coroutines.kotlinx-coroutines-guava
中的官方 ListenableFuture 扩展。
版本 1.1.0-rc01
2020 年 7 月 22 日
androidx.concurrent:concurrent-futures:1.1.0-rc01
和 androidx.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-beta01
和 androidx.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-alpha01
和 androidx.concurrent:concurrent-futures-ktx:1.1.0-alpha01
已发布。版本 1.1.0-alpha01 包含这些提交。这是 androidx.concurrent:concurrent-futures-ktx
的首次发布。
新功能
- Kotlin 扩展现在在
concurrent-futures-ktx
中可用,用于帮助在 ListenableFuture 和 Kotlin Coroutines 之间进行转换。此工件旨在与com.google.guava:listenablefuture
一起使用,而不是完整的 Guava 库,它是一个轻量级的 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 中公开异步操作,但由于库大小问题而没有进行足够多线程密集型工作的库来说,这非常有用。
版本 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-beta01
和 androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01
已发布。此版本中包含的提交可以在此处找到。
这些库提供了 Guava 的 ListenableFuture 接口的独立等效项和用于转换回调的适配器。
之前发布的 androidx.concurrent:concurrent-futures
工件提供了一个类似的适配器,并包含了 com.google.guava:listenablefuture
工件,这对于使用具有严格依赖解析匹配的工具链(例如 Android Gradle 插件 3.4.0)的开发者来说可能存在问题。建议不依赖完整 Guava 库的开发者切换到 androidx.concurrent:concurrent-listenablefuture-callback
。
版本 1.0.0-beta01
2019 年 5 月 7 日
androidx.concurrent:concurrent-futures:1.0.0-beta01
已发布。此版本中包含的提交可以在此处找到。
API 更改
ResolvableFuture
和AbstractResolvableFuture
已从公共 API 中隐藏,转而使用提供更安全 API 的CallbackToFutureAdapter
。
版本 1.0.0-alpha03
2018 年 12 月 17 日
androidx.concurrent:concurrent-futures 1.0.0-alpha03
已发布。
新功能
- 引入了
CallbackToFutureAdapter
。它是一种新的、更安全的 API,用于将回调驱动的 API 封装到ListenableFuture
中。建议优先使用它而不是ResolvableFuture
。