鉴于活动通常会在设备旋转时重新创建,
MvvmCross 做了什么样的魔法来允许这两件事?1)“长期”(比活动长)视图模型 2)“自动”更新视图,即使活动在中途重新创建
默认情况下,MvvmCross 并不真正适用于任何比它的视图寿命更长的视图模型——默认的视图模型定位器为每个视图提供了一个新的视图模型。
Android 有一个小例外,专门用于处理这种旋转 - 在 Android 上,有一个视图模型缓存,它将缓存最后一次看到的视图模型,仅用于一个外观 - 参见MvxActivityViewExtensions.cs#L46和MvxSingleViewModelCache.cs中的代码
存在一个已知问题,即缓存不适用于包含其他活动的选项卡式活动 - 请参阅旋转期间的 MvvmCross ViewModel 生命周期
视图的“自动”更新由 Mvvm 数据绑定处理——UI 视图绑定到 ViewModel 中的当前状态,无论该状态是什么。