Room
Lifecycles 生命周期管理(Lifecycles)获取ui的生命周期状态
ViewModel 将视图的数据和逻辑从具有生命周期特性的实体(如 Activity 和 Fragment)中剥离开来。直到关联的 Activity 或 Fragment 完全销毁时,ViewModel 才会随之消失,也就是说,即使在旋转屏幕导致 Fragment 被重新创建等事件中
ViewModel 是一个UI相关数据的暂存器,当所有相关的UI都finish掉的时候,它才会清除自己的数据。
LiveData 是数据包装容器 在数据变化时通知视图可以直接结合room使用,当room数据库数据源发生变化时,会掉观察者可以进行刷新ui
LiveData则是一个持有具体数据并且可被观察,能感知生命周期的组件(它就像RxJava中一个能遵循组件生命周期的Observable)
他俩的关系,就是,ViewModel负责管理着不同的LiveData,并把它提供给UI
https://www.jianshu.com/p/7fa7679572cc