WorkManager WorkName таблица не очищается после завершения задания - PullRequest
0 голосов
/ 28 января 2020

Я использую WorkManager, вызывая WorkManager.enqueueUniqueWork(String, ExistingWorkPolicy, OneTimeWorkRequest), я проверил на БД на диске androix.work.workdb и заметил, что в таблице WorkName есть запись для каждой работы, которую я начал. Они не удаляются после завершения работы. Это нормально? Будут ли они автоматически очищаться? Когда и кем? (система или WorkManager?)

1 Ответ

0 голосов
/ 28 января 2020

Это нормально. WorkManager сохраняет выполненные задания в своей базе данных, так что вы можете продолжать запрашивать его WorkInfo с помощью getWorkInfosForUniqueWorkLiveData() или другими методами, которые возвращают вам статистику (факт, отмеченный keepResultsForAtLeast() документация ). Если бы это было не так, вы бы никогда не узнали, что ваша работа была успешной, неудачной или была отменена.

Согласно pruneWork() документации :

Обычно вам не нужно вызывать этот метод - WorkManager позаботится об автоматическом сокращении своей работы после нормального периода времени

Где «нормальный период времени», согласно исходный код в настоящее время установлен на 7 дней.

...