Android架构组件:同一视图模型的多个实例

时间:2018-01-30 10:47:47

标签: android android-architecture-components android-viewmodel

我是Android架构组件的新手,我已阅读this教程。我对它所说的部分感兴趣:

  

这允许您拥有一个应用程序,可以打开相同活动或片段的许多不同实例,但具有不同的ViewModel信息。让我们想象一下,如果我们扩展我们的Court-Counter示例来获得多个篮球比赛的分数。游戏以列表形式显示,然后单击列表中的游戏会打开一个看起来像我们当前MainActivity的屏幕,但我称之为GameScoreActivity。

我们说我有一个ViewModel MyViewModel。我想创建一个这个视图模型的列表,但我不知道这个列表中的元素数量,直到运行时。在for循环中创建视图模型实例是否方便?我可以创建多少个实例?实例数会影响性能吗?

1 个答案:

答案 0 :(得分:3)

Activity实例和ViewModel实例之间存在1对1的关系。您可以拥有相同Activity的几个实例,并且每个实例都应该拥有它自己唯一的ViewModel实例。在单个Activity实例中包含同一个ViewModel类的许多实例是没有意义的。