大多数 MVVM 示例都在处理非常简单的用户界面。
但是可以说我有一个需要更新许多 View 的 Activity (即大量数据)
正如我在其他地方所读到的,多个 ViewModel 对象是一种糟糕的模式。
因此,正如我所见,有两种解决方案:
但这有一个问题——每个更新的数据对象都会导致整个 UI 更新。
这意味着我需要观察每个 LiveData 对象。这种模式有问题吗?
提前致谢!
最佳答案
您提到的第一点:是的,这不是最佳模式,但如果你有小数据,那么分离 LiveDatas 的工作量更大, yield 更少
您提到的第二点:是的,这是更优化的,您可以为每个要更新的 View 拥有一个 LiveData 对象,并从您的 Activity 或 fragment 中观察它们。此模式中没有问题。
关于多 View 模型:
如果您在一个 ViewModel 中发生了太多事情(LiveData 对象或函数),那么在同一个 Activity/Fragment 中使用多个 ViewModels 模式也是一种选择。仅建议使 viewModel 更轻。因此,仅当您拥有大型 viewModel 类时才使用它
关于android - MVVM:复杂 View / View 模型-> 多个 LiveData 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53185567/