#WorkManager #ArchitectureComponents
Workout your tasks with WorkManager — Advanced Topics
Продолжение серии статей о работе с WorkManager. В текущей рассматривается:
1️⃣ Как идентифицировать Task
2️⃣ Как получить статус Task
3️⃣ Политики по повторению выполнения Task (backoff)
4️⃣ Зависимости выполнения Task между собой
5️⃣ Как работать с входными и выходными данными
6️⃣ Как можно управлять многопоточностью в WorkManager
Workout your tasks with WorkManager — Advanced Topics
Продолжение серии статей о работе с WorkManager. В текущей рассматривается:
1️⃣ Как идентифицировать Task
2️⃣ Как получить статус Task
3️⃣ Политики по повторению выполнения Task (backoff)
4️⃣ Зависимости выполнения Task между собой
5️⃣ Как работать с входными и выходными данными
6️⃣ Как можно управлять многопоточностью в WorkManager
Medium
Workout your tasks with WorkManager — Advanced Topics
Advanced topics like getting the status of the work, BackoffPolicy, chaining work and Threading options.
#WorkManager
Unifying Background Task Scheduling on Android
Google проводит унификацию своих библиотек для выполнения задач в фоновом режиме. Суть проста - все мигрируем на WorkManager.
Если кто-то пользуется FirebaseJobDispatcher (FJD) или GCMNetworkManager (GCM), то вам пора браться за гайды по миграции: для FJD и для GCM. Поддержка FJD будет закрыта в апреле 2020, GCM - ноябрь 2020.
Если вы обновите targetSdk вашего приложения до Android 10 (API level 29), то FJD и GCM перестанут работать на Android 6.0+
Unifying Background Task Scheduling on Android
Google проводит унификацию своих библиотек для выполнения задач в фоновом режиме. Суть проста - все мигрируем на WorkManager.
Если кто-то пользуется FirebaseJobDispatcher (FJD) или GCMNetworkManager (GCM), то вам пора браться за гайды по миграции: для FJD и для GCM. Поддержка FJD будет закрыта в апреле 2020, GCM - ноябрь 2020.
Если вы обновите targetSdk вашего приложения до Android 10 (API level 29), то FJD и GCM перестанут работать на Android 6.0+
Android Developers Blog
Unifying Background Task Scheduling on Android
Android users care a lot about the battery life on their phones. In particular, how your app schedules deferrable background tasks play an important role in battery life. To help you build more battery-friendly apps, we introduced WorkManager as the unified…
#WorkManager
When WorkManager Stops Working
Будьте внимательны при использование Work Manager unique work и политики APPEND. Проблема заключается в том, что это политика реализована на цепочках и если одна из задач выполняется с ошибкой, то все последующие не будут выполняться.
Что можно сделать:
👉 Не использовать политику APPEND
👉 Никогда не давать unique work завершаться с ошибкой. Только Success и внутри объект с результатом
👉 Использовать WorkManager.pruneWork()
Ждем когда Google исправит эту досадную реализацию
When WorkManager Stops Working
Будьте внимательны при использование Work Manager unique work и политики APPEND. Проблема заключается в том, что это политика реализована на цепочках и если одна из задач выполняется с ошибкой, то все последующие не будут выполняться.
Что можно сделать:
👉 Не использовать политику APPEND
👉 Никогда не давать unique work завершаться с ошибкой. Только Success и внутри объект с результатом
👉 Использовать WorkManager.pruneWork()
Ждем когда Google исправит эту досадную реализацию
#Jetpack #ArhitectureComponents #WorkManager
WorkManager 2.3.0
Появилась возможность задавать системе, что выполняемая операция важна, и что процесс должен оставаться живым как можно дольше во время выполнения. Работает механизм поверх Foreground Service. Используйте setForegroundAsync
Также появилась возможность отображать прогресс выполнения задачи с помощью setProgressAsync
WorkManager 2.3.0
Появилась возможность задавать системе, что выполняемая операция важна, и что процесс должен оставаться живым как можно дольше во время выполнения. Работает механизм поверх Foreground Service. Используйте setForegroundAsync
Также появилась возможность отображать прогресс выполнения задачи с помощью setProgressAsync
#WorkManager
Customizing WorkManager — Fundamentals
Продолжение серии статей о WorkManager, в которой разбирается как изменить настройки работы:
👉 Когда может понадобиться конфигурировать WorkManager самостоятельно
👉 Как предоставить собственную конфигурацию
👉 WorkerFactory: что такое и как добавить поддержку нестандартных конструкторов для подклассов ListenableWorker
👉 DelegatingWorkerFactory - оборачиваем несколько WorkerFactory через стандартную фабрику, вместо конфигурирования WorkManager для использования собственной фабрики
Customizing WorkManager — Fundamentals
Продолжение серии статей о WorkManager, в которой разбирается как изменить настройки работы:
👉 Когда может понадобиться конфигурировать WorkManager самостоятельно
👉 Как предоставить собственную конфигурацию
👉 WorkerFactory: что такое и как добавить поддержку нестандартных конструкторов для подклассов ListenableWorker
👉 DelegatingWorkerFactory - оборачиваем несколько WorkerFactory через стандартную фабрику, вместо конфигурирования WorkManager для использования собственной фабрики
Medium
Customizing WorkManager — fundamentals
An article about WorkManager custom configuration. What is it, why you may need one and how to implement it.
#WorkManager
WorkManager 2.4.0
👉 Больше возможностей для планировщика
👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
WorkManager 2.4.0
👉 Больше возможностей для планировщика
WorkManager
, что запускает WorkRequest-ы👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
#WorkManager
Use WorkManager for immediate background execution
В WorkManage 2.3.0 появилась возможность выполнения задач в Foreground Service. Это хорошо подходит для выполнения долгих задач прямо в текущий момент.
В статье разбирается больше подробностей о том как выполнять WorkRequest в Foreground Service
Use WorkManager for immediate background execution
В WorkManage 2.3.0 появилась возможность выполнения задач в Foreground Service. Это хорошо подходит для выполнения долгих задач прямо в текущий момент.
В статье разбирается больше подробностей о том как выполнять WorkRequest в Foreground Service
Medium
Use WorkManager for immediate background execution
Some tasks just shouldn’t be deferred
#Jetpack #WorkManager
WorkManager for Immediate Tasks
C каждый релизом Service отходит на полку и используется только в библиотеках. Нам остается использовать только Foreground Service и WorkManager.
WorkManager предлагает возможность соединить Foreground Service и API WorkManage. В статье все детали как это сделать.
WorkManager for Immediate Tasks
C каждый релизом Service отходит на полку и используется только в библиотеках. Нам остается использовать только Foreground Service и WorkManager.
WorkManager предлагает возможность соединить Foreground Service и API WorkManage. В статье все детали как это сделать.
Medium
WorkManager for Immediate Tasks
Sometimes it’s best to execute right away
#WorkManager #Jetpack #Kotlin
WorkManager — Kotlin APIs
Разбор Kotlin расширений и поддержки Coroutine в WorkManager
WorkManager — Kotlin APIs
Разбор Kotlin расширений и поддержки Coroutine в WorkManager
#Jetpack #WorkManager
Вышел WorkManager 2.5.0
Вышла новая стабильная версия WorkManager, которая принесла:
👉 Новый артефакт
👉 Теперь явно можно указать в каком процессе надо выполнять
👉 Улучшено выполнение
👉 Размер истории выполненых Job хранится теперь 1 день вместо 7. Если нужно больше, то это можно регулировать с помощью
👉 Новое тестовое Kotlin API
👉 Исправление багов
Вышел WorkManager 2.5.0
Вышла новая стабильная версия WorkManager, которая принесла:
👉 Новый артефакт
work-multiprocess
, улучающий работу в приложениях со множеством процессов.👉 Теперь явно можно указать в каком процессе надо выполнять
WorkRequest
. Надо использовать RemoteWorkManager👉 Улучшено выполнение
WorkRequest
, юлагодаря тому что теперь проверяется можно ли запустить JobService
для выполнения задач👉 Размер истории выполненых Job хранится теперь 1 день вместо 7. Если нужно больше, то это можно регулировать с помощью
keepResultsForAtLeast()
API. Это сделано с целью сокращения расхода места на диске👉 Новое тестовое Kotlin API
👉 Исправление багов