我一直在尝试新的 Android WorkManager API,它似乎工作正常。但是我在测试我的应用程序时注意到了一些事情:在创建一个新的周期性工作实例之前,我检查状态以避免创建多个:
WorkManager.getInstance().getStatusesByTag(myTag)
.observe(lifecycleOwner, Observer { status ->
// creates a new worker if status returns nothing
})
应用程序第一次启动时,状态没有返回任何内容并创建了一个新的,但后来我需要卸载我的应用程序,当它再次启动时,已经从日志中创建了一个工作人员:
WorkStatus{mId='UUID', mState=ENQUEUED, mOutputData=androidx.work.Data@0, mTags=[tag, tagName]}]
我知道 API 仍处于 alpha 阶段,但我想知道这是否是预期的以及这是否不会成为问题。我认为如果用户卸载您的应用程序,这些后台任务也应该被删除。我一直在尝试找到一些与此相关的信息,但到目前为止我还找不到。有没有人看到这个或者任何人都可以给我一个文档或类似的东西?
谢谢您的帮助