Параллельный

Выносите задачи из основного потока с помощью сопрограмм и воспользуйтесь преимуществами ListenableFuture.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-релиз Альфа-релиз
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 .