为什么 ViewModelProviders 被弃用?我想了解此类被弃用的原因。是因为谷歌在其中使用了服务定位器设计模式(所谓的反模式(吗?
如果你看一下源代码,你会发现ViewModelProviders
只不过是ViewModelProvider
的新构造函数的包装器:
public static ViewModelProvider of(@NonNull Fragment fragment) {
return new ViewModelProvider(fragment);
}
因此,根据弃用消息,只需使用new ViewModelProvider(this)
而不是ViewModelProviders.of(this)
.