Skip to content
阅读进度

MVVM 架构中 ViewModel 与 View 的生命周期关系是怎样的? ​

返回 View 与显示链路 目录

标准回答 ​

ViewModel 保存页面业务状态,通常能跨配置变化保留,但不能自动跨进程死亡保存。

通俗例子 ​

旋转时旧 Activity 消失,新 Activity 仍可获得同一个 ViewModel 中的查询结果;若进程被杀,必要状态要从保存容器或数据层恢复。

深入解释 ​

**谁保存业务状态:**ViewModel 为所选作用域持有 UI 相关数据和逻辑。Activity 因配置改变重建时,可以继续取得同一个作用域中的 ViewModel。

**它为什么不能保存 View:**旧 Activity 的 View 属于已结束的一次界面实例,长期持有会造成泄漏或更新错误。ViewModel 保存数据,新的 View 重新观察并渲染;进程重建仍要依赖可恢复状态。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。