【发布时间】:2018-10-15 09:16:19
【问题描述】:
我不明白 UI 控制器重新创建时创建的 ViewModel 实例是如何存活的?
换句话说... 乳清这种方法
ViewModelProviders.of(this).get(MyViewModel.class);
重新调用时返回之前退出的 ViewModel 实例?
【问题讨论】:
-
ViewModel 是没有 UI 和 setRetainInstance(true) 的片段,它被附加,作用于传递的片段或 Activity,因此当重新创建 Activity 以进行旋转时,例如它将被保存,并且call 将返回相同的实例,基本规则,如果 ViewModel 存在于相同的范围内,则将返回相同的实例,否则将创建一个新的实例。
-
谢谢 Anis,但你确定 ViewModel 是一个片段吗? ViewModel 类不扩展片段
标签: android mvvm viewmodel android-jetpack android-architecture-components