Android WorkManager запускает слишком много заданий одновременно - PullRequest
0 голосов
/ 21 февраля 2019

Я реализую параллельную фоновую загрузку / выгрузку в своем приложении с помощью workmanager.Все отлично работает, за исключением того, что WorkManager выполняет слишком много заданий одновременно, и телефон перестает отвечать на запросы, пока все не испортится.Я хотел бы поставить в очередь, скажем, 10 задач и заставить WM выполнить, скажем, 2 параллельно, пока все 10 не будут выполнены.WorkManager, кажется, выполняет 5-10 параллельно.Я не могу понять, как это сделать.Я попробовал свою собственную конфигурацию только с однопоточным исполнителем, и это не имеет никакого значения.Как я могу ограничить количество заданий, выполняемых одновременно?Я использую 1.0.0-rc01.

1 Ответ

0 голосов
/ 21 февраля 2019

Вы можете использовать пользовательский Configuration, чтобы определить количество Worker с, которые вы хотите выполнить одновременно.Нечто подобное в вашем Application.onCreate().Для получения дополнительной информации прочитайте о том, как инициализировать WorkManager с пользовательской конфигурацией.

val config = Configuration.Builder()
  .setExecutor(yourExecutor)
  .build()

WorkManager.initialize(context, config)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...