В разделе «Начало работы с WorkManager» мы упоминали, что WorkManager асинхронно выполняет фоновую работу от вашего имени. Базовая реализация отвечает требованиям большинства приложений. Для более сложных случаев использования, таких как правильная обработка остановленной работы, вам следует изучить многопоточность и параллелизм в WorkManager.
WorkManager предоставляет четыре различных типа рабочих примитивов:
-
Worker— это самая простая реализация, которую вы видели в предыдущих разделах. WorkManager автоматически запускает его в фоновом потоке (который вы можете переопределить). Дополнительные сведения о потоковой передаче в экземплярахWorkerсм. в разделе Threading in Worker . -
CoroutineWorker— рекомендуемая реализация для пользователей Kotlin. ЭкземплярыCoroutineWorkerпредоставляют функцию приостановки фоновой работы. По умолчанию они запускаютDispatcherпо умолчанию, который вы можете настроить. Подробнее о потоковой передаче в экземплярахCoroutineWorkerчитайте в разделе «Потоки в CoroutineWorker» . -
RxWorker— рекомендуемая реализация для пользователей RxJava. RxWorkers следует использовать, если большая часть существующего асинхронного кода моделируется в RxJava. Как и во всех концепциях RxJava, вы можете свободно выбирать стратегию потоковой обработки по вашему выбору. Подробнее о потоковой передаче в экземплярахRxWorkerчитайте в разделе «Поточная обработка в RxWorker» . -
ListenableWorker— базовый класс дляWorker,CoroutineWorkerиRxWorker. Он предназначен для разработчиков Java, которым приходится взаимодействовать с асинхронными API на основе обратного вызова, такими какFusedLocationProviderClient, и которые не используют RxJava. Дополнительные сведения о потоках в экземплярахListenableWorkerсм. в разделе «Потоки в ListenableWorker» .
В разделе «Начало работы с WorkManager» мы упоминали, что WorkManager асинхронно выполняет фоновую работу от вашего имени. Базовая реализация отвечает требованиям большинства приложений. Для более сложных случаев использования, таких как правильная обработка остановленной работы, вам следует изучить многопоточность и параллелизм в WorkManager.
WorkManager предоставляет четыре различных типа рабочих примитивов:
-
Worker— это самая простая реализация, которую вы видели в предыдущих разделах. WorkManager автоматически запускает его в фоновом потоке (который вы можете переопределить). Дополнительные сведения о потоковой передаче в экземплярахWorkerсм. в разделе Threading in Worker . -
CoroutineWorker— рекомендуемая реализация для пользователей Kotlin. ЭкземплярыCoroutineWorkerпредоставляют функцию приостановки фоновой работы. По умолчанию они запускаютDispatcherпо умолчанию, который вы можете настроить. Подробнее о потоковой передаче в экземплярахCoroutineWorkerчитайте в разделе «Потоки в CoroutineWorker» . -
RxWorker— рекомендуемая реализация для пользователей RxJava. RxWorkers следует использовать, если большая часть существующего асинхронного кода моделируется в RxJava. Как и во всех концепциях RxJava, вы можете свободно выбирать стратегию потоковой обработки по вашему выбору. Подробнее о потоковой передаче в экземплярахRxWorkerчитайте в разделе «Поточная обработка в RxWorker» . -
ListenableWorker— базовый класс дляWorker,CoroutineWorkerиRxWorker. Он предназначен для разработчиков Java, которым приходится взаимодействовать с асинхронными API на основе обратного вызова, такими какFusedLocationProviderClient, и которые не используют RxJava. Дополнительные сведения о потоковой передаче в экземплярахListenableWorkerсм. в разделе «Потоковая обработка в ListenableWorker» .
В разделе «Начало работы с WorkManager» мы упоминали, что WorkManager асинхронно выполняет фоновую работу от вашего имени. Базовая реализация отвечает требованиям большинства приложений. Для более сложных случаев использования, таких как правильная обработка остановленной работы, вам следует изучить многопоточность и параллелизм в WorkManager.
WorkManager предоставляет четыре различных типа рабочих примитивов:
-
Worker— это самая простая реализация, которую вы видели в предыдущих разделах. WorkManager автоматически запускает его в фоновом потоке (который вы можете переопределить). Подробнее о потоковой передаче в экземплярахWorkerчитайте в разделе Threading in Worker . -
CoroutineWorker— рекомендуемая реализация для пользователей Kotlin. ЭкземплярыCoroutineWorkerпредоставляют функцию приостановки фоновой работы. По умолчанию они запускаютDispatcherпо умолчанию, который вы можете настроить. Подробнее о потоковой передаче в экземплярахCoroutineWorkerчитайте в разделе «Потоки в CoroutineWorker» . -
RxWorker— рекомендуемая реализация для пользователей RxJava. RxWorkers следует использовать, если большая часть существующего асинхронного кода моделируется в RxJava. Как и во всех концепциях RxJava, вы можете свободно выбирать стратегию потоковой обработки по вашему выбору. Подробнее о потоковой передаче в экземплярахRxWorkerчитайте в разделе «Поточная обработка в RxWorker» . -
ListenableWorker— базовый класс дляWorker,CoroutineWorkerиRxWorker. Он предназначен для разработчиков Java, которым приходится взаимодействовать с асинхронными API на основе обратного вызова, такими какFusedLocationProviderClient, и которые не используют RxJava. Дополнительные сведения о потоках в экземплярахListenableWorkerсм. в разделе «Потоки в ListenableWorker» .
В разделе «Начало работы с WorkManager» мы упоминали, что WorkManager асинхронно выполняет фоновую работу от вашего имени. Базовая реализация отвечает требованиям большинства приложений. Для более сложных случаев использования, таких как правильная обработка остановленной работы, вам следует изучить многопоточность и параллелизм в WorkManager.
WorkManager предоставляет четыре различных типа рабочих примитивов:
-
Worker— это самая простая реализация, которую вы видели в предыдущих разделах. WorkManager автоматически запускает его в фоновом потоке (который вы можете переопределить). Подробнее о потоковой передаче в экземплярахWorkerчитайте в разделе Threading in Worker . -
CoroutineWorker— рекомендуемая реализация для пользователей Kotlin. ЭкземплярыCoroutineWorkerпредоставляют функцию приостановки фоновой работы. По умолчанию они запускаютDispatcherпо умолчанию, который вы можете настроить. Подробнее о потоковой передаче в экземплярахCoroutineWorkerчитайте в разделе «Потоки в CoroutineWorker» . -
RxWorker— рекомендуемая реализация для пользователей RxJava. RxWorkers следует использовать, если большая часть существующего асинхронного кода моделируется в RxJava. Как и во всех концепциях RxJava, вы можете свободно выбирать стратегию потоковой обработки по вашему выбору. Подробнее о потоковой передаче в экземплярахRxWorkerчитайте в разделе «Поточная обработка в RxWorker» . -
ListenableWorker— базовый класс дляWorker,CoroutineWorkerиRxWorker. Он предназначен для разработчиков Java, которым приходится взаимодействовать с асинхронными API на основе обратного вызова, такими какFusedLocationProviderClient, и которые не используют RxJava. Дополнительные сведения о потоках в экземплярахListenableWorkerсм. в разделе «Потоки в ListenableWorker» .