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