Concurrent
最近更新时间 | 稳定版 | 候选版 | 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-alpha01
和 androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01
。版本 1.3.0-alpha01 包含这些提交内容。
bug 修复
- 此库现在使用 JSpecify nullness annotations,即类型使用。Kotlin 开发者应使用以下编译器参数来强制执行正确的用法:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(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 变更
- 添加了用于编写挂起-
ListenableFuture
桥接的SuspendToFutureAdapter
(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
的方法中添加了正确的可为 null 性注解。(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 协程之间的转换,现在这些扩展可用于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-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
的第一个版本。
新功能
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-beta01
和 androidx.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 变更
ResolvableFuture
和AbstractResolvableFuture
已从公共 API 隐藏,取而代之的是CallbackToFutureAdapter
,它提供更安全的 API。
版本 1.0.0-alpha03
2018 年 12 月 17 日
发布了 androidx.concurrent:concurrent-futures 1.0.0-alpha03
。
新功能
- 引入了
CallbackToFutureAdapter
。这个新 API 更加安全,可将回调驱动型 API 封装到ListenableFuture
中。相对于ResolvableFuture
,我们更推荐使用该 API。