Параллельный
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.2.0 | - | 1.3.0-бета01 | - |
Объявление зависимостей
Чтобы добавить зависимость от Futures, необходимо добавить репозиторий Google Maven в свой проект. Прочитайте репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.concurrent:concurrent-futures:1.2.0" // Kotlin implementation "androidx.concurrent:concurrent-futures-ktx:1.2.0" }
Котлин
dependencies { implementation("androidx.concurrent:concurrent-futures:1.2.0") // Kotlin implementation("androidx.concurrent:concurrent-futures-ktx:1.2.0") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.3
Версия 1.3.0-beta01
20 мая 2025 г.
Выпущены androidx.concurrent:concurrent-futures:1.3.0-beta01
и androidx.concurrent:concurrent-futures-ktx:1.3.0-beta01
. Версия 1.3.0-beta01 содержит эти коммиты .
Версия 1.3.0-альфа01
11 декабря 2024 г.
Выпущены androidx.concurrent:concurrent-futures:1.3.0-alpha01
и androidx.concurrent:concurrent-futures-ktx:1.3.0-alpha01
. Версия 1.3.0-alpha01 содержит эти коммиты .
Исправление ошибок
- Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I0faf4 , b/326456246 )
Версия 1.2
Версия 1.2.0
12 июня 2024 г.
Выпущены 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
29 мая 2024 г.
Выпущены 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
14 мая 2024 г.
Выпущены androidx.concurrent:concurrent-futures:1.2.0-beta01
и androidx.concurrent:concurrent-futures-ktx:1.2.0-beta01
. Версия 1.2.0-beta01 содержит эти коммиты .
Версия 1.2.0-альфа03
20 марта 2024 г.
Выпущены androidx.concurrent:concurrent-futures:1.2.0-alpha03
и androidx.concurrent:concurrent-futures-ktx:1.2.0-alpha03
. Версия 1.2.0-alpha03 содержит эти коммиты .
Исправление ошибок
- Исправлена ошибка в обработке ошибок, когда задача
SuspendToFutureAdapter
выдавала исключение. ( b/327629504 )
Версия 1.2.0-альфа02
9 августа 2023 г.
Выпущены 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-альфа01
22 февраля 2023 г.
Выпущены 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
19 августа 2020 г.
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 следует использовать официальные расширения ListenableFuture изkotlinx.coroutines.kotlinx-coroutines-guava
.
Версия 1.1.0-rc01
22 июля 2020 г.
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
24 июня 2020 г.
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-альфа01
18 декабря 2019 г.
Выпущены 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 для помощи в преобразовании между ListenableFuture и Kotlin Coroutines теперь доступны в
concurrent-futures-ktx
. Этот артефакт предназначен для использования сcom.google.guava:listenablefuture
в отличие от полной библиотеки Guava, которая является облегченной заменой Guava, содержащей толькоListenableFuture
. Пользователям полной библиотеки Guava следует использовать официальные расширения ListenableFuture изkotlinx.coroutines.kotlinx-coroutines-guava
.
Изменения API
- Добавляет приостанавливающее расширение
ListenableFuture.await()
, которое преобразует ListenableFuture в сопрограмму Kotlin.
Версия 1.0.0
Версия 1.0.0
9 октября 2019 г.
Выпущен androidx.concurrent:concurrent-futures:1.0.0
. Версия 1.0.0 содержит эти коммиты .
Важные особенности 1.0.0
androidx.concurrent:concurrent-futures:1.0.0
предоставляет класс CallbackToFutureAdapter
, минималистичную утилиту, которая позволяет обернуть код на основе обратного вызова и вернуть экземпляры ListenableFuture
. Это полезно для библиотек, которые хотели бы представить асинхронные операции в своих API Java более элегантным способом, чем пользовательские обратные вызовы, но не выполняют достаточно многопоточной тяжелой работы, чтобы получить зависимость от полной версии guava или rx java из-за проблем с размером библиотеки.
Версия 1.0.0-rc01
7 августа 2019 г.
androidx.concurrent:concurrent-futures:1.0.0-rc01
выпущен без изменений по сравнению с 1.0.0-beta01
. Коммиты, включенные в эту версию, можно найти здесь .
Concurrent-ListenableFuture Версия 1.0.0-beta01
30 мая 2019 г.
androidx.concurrent:concurrent-listenablefuture:1.0.0-beta01
и androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01
выпущены. Коммиты, включенные в эту версию, можно найти здесь .
Эти библиотеки предоставляют автономный эквивалент интерфейса ListenableFuture Guava и адаптер для преобразования обратных вызовов.
Ранее выпущенный артефакт androidx.concurrent:concurrent-futures
, который предоставлял аналогичный адаптер и включал артефакт com.google.guava:listenablefuture
, может быть проблематичным для разработчиков, использующих цепочки инструментов — например, Android Gradle Plugin 3.4.0 — со строгим соответствием разрешению зависимостей. Разработчикам, которые не полагаются на полную библиотеку Guava, рекомендуется перейти на androidx.concurrent:concurrent-listenablefuture-callback
.
Версия 1.0.0-beta01
7 мая 2019 г.
Выпущен androidx.concurrent:concurrent-futures:1.0.0-beta01
. Коммиты, включенные в эту версию, можно найти здесь .
Изменения API
-
ResolvableFuture
иAbstractResolvableFuture
были скрыты от публичного API в пользуCallbackToFutureAdapter
, который обеспечивает более безопасный API.
Версия 1.0.0-альфа03
17 декабря 2018 г.
Выпущен androidx.concurrent:concurrent-futures 1.0.0-alpha03
.
Новые возможности
- Представлен
CallbackToFutureAdapter
. Это новый, более безопасный API для обертывания API, управляемого обратным вызовом, вListenableFuture
. Предпочитайте его использованиюResolvableFuture
.