ViewModel这个名称常常使人误解为MVVM中的ViewModel层,那么它是不是同一个东西呢?
ViewModel可以作为MVVM中的ViewModel层,但不是特指MVVM中的ViewModel层。
ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。
它是一个独立的组件,你可以把它视作生命周期相关的数据存储工具, 把它用在你觉得合适的任意地方,它可以是Fragment共享数据的桥梁、可以是屏幕方向切换时的数据来源、当然也可以是 MVVM 中 ViewModel层的 数据提供者,你可以使用LiveData让它变成可观察的数据,也可以使用DataBinding让他成为View的数据源。
【本系列文章(JAVA/KOTLIN)演示案例均存储在github存储库ArchitecturalComponentExample中】
本篇所述源码及代码基于 API 30;