本文接上篇 初识Kotlin 之6__探究Jetpack ,为 Jetpack 知识第二篇
一 ViewModel
ViewModel可以算是Jetpack中最重要的组件之一。ViewModel的一个重要作用是帮助Activity分担一部分工作。
它是专门用于存放与界面相关的数据的。 也就是说, 只要是界面上能看得到的数据,它的相关变量都应该存放在ViewModel中, 而不是Activity中, 这样可以在一定程度上减少Activity中的逻辑。
1. ViewModel是有生命周期的, 并且与Activity 不同, 它可以保证在手机屏幕发生旋转的时候不会被重新创建。 只有当Activity退出的时候才会跟着Activity 一起销毁。
ViewModel的生命周期如图所示
2. ViewModel的基本用法
由于Jetpack中的组件通常是以AndroidX库 的形式发布的,但是如果要想使用ViewModel组件, 需要在app/build.gradle文件中添加如下依赖:
dependencies{
// 添加使用 viewmodel 组件
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
}