WorkManager:getInstance()已弃用

Pra*_*ani 2 android deprecated workmanagers android-workmanager

在版本2.1.0中不推荐使用WorkManager.getInstance()

依赖关系:

implementation 'androidx.work:work-runtime:2.1.0'
Run Code Online (Sandbox Code Playgroud)

此方法或任何其他方式有什么变化?

Pra*_*ani 10

我在文档中找到了解决方案,如下所示:

不建议使用此方法。

改为调用getInstance(Context)。

其中上下文用于按需初始化。

WorkManager v2.1引入了一种自定义其配置的新方法。在以前的版本中,有必要在应用程序启动期间创建新的配置并初始化WorkManager,而v2.1添加了新的“按需”初始化。这意味着WorkManager在应用程序第一次调用该getInstance(Context)方法时被初始化(使用默认值或自定义)。

在Context这种情况下是用来检索应用程序对象,看看它是否实现了Configuration.Provider接口。

有关自定义配置的更多信息,请参见WorkManager的文档。

此更改记录在WorkManager的发行说明中(在WorkManager v2.1-alpha01中进行了介绍),并在其中说明了getInstance(Context)即使不使用按需初始化也最好使用新方法的原因。

注意:无论何时更改或更新依赖版本,请仔细阅读发行说明


Kaa*_*edi 6

根据文档,你必须使用这种方式:

val workManager = WorkManager.getInstance(applicationContext)
Run Code Online (Sandbox Code Playgroud)