ViewModel和AndroidViewModel之间有什么区别

ViewModel和AndroidViewModel之间有什么区别,android,android-mvvm,android-architecture-lifecycle,Android,Android Mvvm,Android Architecture Lifecycle,对于任何有这个问题的人 根据Android文档 由于ViewModel超过了特定的活动和片段实例化,因此它不应该引用视图或任何可能包含对活动上下文引用的类。如果ViewModel需要应用程序上下文(例如,查找系统服务),它可以扩展AndroidViewModel类,并在构造函数中具有接收应用程序的构造函数(因为应用程序类扩展了上下文) 文档可在此处找到: 编辑: 重复解释: 我的意思是,您可以将类扩展到ViewModel以及AndroidViewModel。当您应该扩展它时,上面的解释仅用于此

对于任何有这个问题的人

根据Android文档

由于ViewModel超过了特定的活动和片段实例化,因此它不应该引用视图或任何可能包含对活动上下文引用的类。如果ViewModel需要应用程序上下文(例如,查找系统服务),它可以扩展AndroidViewModel类,并在构造函数中具有接收应用程序的构造函数(因为应用程序类扩展了上下文)

文档可在此处找到:

编辑: 重复解释:
我的意思是,您可以将类扩展到ViewModel以及AndroidViewModel。当您应该扩展它时,上面的解释仅用于此。上面的链接介绍了MVVM体系结构的ViewModel,而不是android.arch.lifecycle.ViewModel

扩展,因此它具有所有相同的功能。AndroidViewModel唯一增加的功能是它是上下文感知的:初始化AndroidViewModel时,必须将上下文作为参数传递


作为一个示例,您可以展示需要应用程序上下文的祝酒词。

我的意思是您可以将类扩展到ViewModel以及AndroidViewModel。当您应该扩展它时,上面的解释仅用于此。上面的链接介绍了MVVM体系结构的ViewModel,而不是android.arch.lifecycle。ViewModel@M0CH1R0N:请阅读以上评论。如果你觉得这是重复的帖子,我会尽快删除。谢谢,我的错,我重读了你的问题。AndroidViewModel继承了ViewModel,因此它具有所有相同的功能。AndroidViewModel唯一增加的功能是它是上下文感知的:初始化AndroidViewModel时,必须将上下文作为参数传递。例如,如果你想展示祝酒词,可以使用这个帖子。这个帖子可以重新打开@IntelliJ Amiya吗?谢谢。