Одновременный

Перенесите задачи из основного потока с помощью сопрограмм и воспользуйтесь преимуществами ListenableFuture.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-версия Альфа-релиз
16 июля 2025 г. 1.3.0 - - -

Объявление зависимостей

Чтобы добавить зависимость от Futures, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

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

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

Котлин

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

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

Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.

Создать новый выпуск

Более подробную информацию см. в документации по системе отслеживания проблем .

Версия 1.3

Версия 1.3.0

16 июля 2025 г.

Выпущены androidx.concurrent:concurrent-futures:1.3.0 и androidx.concurrent:concurrent-futures-ktx:1.3.0 . Версия 1.3.0 содержит эти коммиты .

Версия 1.3.0-rc01

2 июля 2025 г.

Выпущены androidx.concurrent:concurrent-futures:1.3.0-rc01 и androidx.concurrent:concurrent-futures-ktx:1.3.0-rc01 . Версия 1.3.0-rc01 содержит эти коммиты .

Версия 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 содержит эти коммиты .

Исправления ошибок

  • Эта библиотека теперь использует аннотации JSpecify, определяющие значение null , которые являются типовыми. Разработчикам 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 теперь доступны в 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 .