WorkManager作业完成后未清除WorkName表

问题描述 投票:0回答:1

我正在通过调用WorkManager.enqueueUniqueWork(String, ExistingWorkPolicy, OneTimeWorkRequest)使用WorkManager,我在磁盘androix.work.workdb的数据库上进行了检查,并注意到WorkName表中为我启动的每个作业都有一个条目。工作完成后,不会将其删除。这正常吗?它们会自动清除吗?什么时候和谁? (系统还是WorkManager?)

android android-workmanager
1个回答
0
投票

这很正常。 WorkManager将完成的作业保留在其数据库中,以便您可以继续通过WorkInfo或其他将统计信息返回给您的方法来查询其getWorkInfosForUniqueWorkLiveData()getWorkInfosForUniqueWorkLiveData()指出的事实)。如果不是这种情况,您将永远无法确定自己的工作成功,失败或被取消。

根据keepResultsForAtLeast() documentation

您通常不需要调用此方法-在经过一段合理的时间后,WorkManager会自动修剪其工作

根据keepResultsForAtLeast(),当前的“合理的时间段”当前设置为7天。

© www.soinside.com 2019 - 2024. All rights reserved.