您好?我应该如何看待orroids架构组件ViewModelStore是否使用依赖注入库注入ViewModels的需要无效?
答案 0 :(得分:1)
ViewModels are intimately tied to Activities or Fragments,包含Android生命周期的内容。因为它们与这些对象紧密相关,所以它们具有依赖注入库不提供的功能,特性和需求。 ViewModel提供的最重要的功能是能够在配置更改时保留其状态,但不能在Activity的单独启动上保留,这是开发人员大多数时间所需要的。当您需要在活动的单独启动之间保存的状态时,就是在您使用数据库层时,例如Room Persistence Library。
所以简单的答案是肯定的。最好使用
ViewModelProviders.of(activity).get(MyViewModel.class)
实例化并查找您的视图模型。
答案 1 :(得分:1)
ViewModelStore与ViewModel的依赖注入完全无关。它是特定所有者的ViewModel对象的容器。您可以使用ViewModelStores的方法获取活动或片段的ViewModelStore。
ViewModelStore vms = ViewModelStores.of(this);
ViewModelStore可让您根据需要控制特定所有者的viewmodel对象的生命周期。