use*_*816 0 android android-mvvm android-architecture-lifecycle
对于任何有这个问题的人,
根据Android文档,
由于ViewModel的寿命超过了特定的活动和片段实例化,因此它绝不应引用View或任何可能包含对活动上下文的引用的类。如果ViewModel需要Application上下文(例如,查找系统服务),则它可以扩展AndroidViewModel类,并具有一个在构造函数中接收Application的构造函数(因为Application类扩展了Context)。
可以在这里找到文档:https : //developer.android.com/topic/libraries/architecture/viewmodel.html
编辑:重复说明:我的意思是您可以将类扩展到ViewModel以及AndroidViewModel。当您应该扩展它时,上面的解释仅用于此目的。上面的链接介绍了MVVM体系结构的ViewModel,而不是android.arch.lifecycle.ViewModel
小智 8
扩展我的评论:
在AndroidViewModel扩展ViewModel,因此它具有所有的相同的功能。AndroidViewModel唯一添加的功能是它可以识别上下文:初始化AndroidViewModel时,必须将Application上下文作为参数传递。
作为一个为什么有用的示例,您可以显示需要Application上下文的敬酒。
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |