嗨?我应该如何看待androids架构组件ViewModelStore ?它会使使用依赖注入库注入ViewModels的需求失效吗?
发布于 2017-07-28 07:22:52
ViewModels are intimately tied to Activities or Fragments,具有安卓生命周期的东西。因为它们与这些对象如此紧密地联系在一起,所以它们具有依赖注入库所不提供的功能、特性和需求。ViewModel提供的最重要的功能是能够在配置更改时保留其状态,而不是在活动的单独启动时保留状态,而这正是开发人员最需要的。当您需要在活动的单独启动之间保存的状态时,就需要使用数据库层,如Room Persistence Library。
所以简单的答案是肯定的。最好使用
ViewModelProviders.of(activity).get(MyViewModel.class)实例化和查找视图模型。
发布于 2017-07-29 14:08:12
ViewModelStore与ViewModel的依赖注入一点关系都没有。它是特定所有者的ViewModel对象的容器。您可以使用ViewModelStores的方法来获取活动或片段的ViewModelStore。
ViewModelStore vms = ViewModelStores.of(this);如果需要,ViewModelStore允许您控制特定所有者的视图模型对象的生命周期。
https://stackoverflow.com/questions/44337423
复制相似问题