我最近开始研究Android体系结构组件。我发现MVVM体系结构非常方便,我想精通它。在设计应用程序时,我应该对不同的活动/片段使用多个ViewModel,还是对所有活动/片段使用单个ViewModel?这两种方法的优缺点是什么?谢谢。
取决于您需要保持的状态。如果您的片段彼此隔离,请随时为每个片段使用ViewModel。如果您需要共享状态(按状态,我指的是LiveData),则每个活动都有一个ViewModel是合理的。但通常,类越小越好。
因此,我建议每个片段都有一个ViewModel,除非需要共享LiveData的情况。