即使已卸载应用程序,WorkManager实例仍保持活动状态(?)

时间:2018-07-13 13:05:50

标签: android kotlin android-jetpack android-workmanager

我一直在尝试新的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状态,但是我想知道这是否可以预期,并且这不会成为问题。我认为,如果用户卸载您的应用程序,那么这些后台任务也应删除。我一直在努力寻找与此相关的信息,但到目前为止还没有找到。 有没有人看过这本书,或者有人可以给我指出文档或类似内容?

谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

当然不是。卸载应用程序后,将没有WorkManager的实例。

即使您的应用程序进程已被杀死,WorkManager API也将起作用,但是在卸载应用程序后,WorkManager API将无法工作。 WorkManager API实施是您的应用程序的一部分,但不是Android OS的一部分。

请再次检查您的卸载。

相关问题