1.
ViewModel
ViewModel作为
Android JetPack里面的重要的一员,确实担任了一个十分重要的角色。也是实现MVVM架构的基础。所以会用并不能代表什么,而稍微把原理理清楚,你可以获得更多的知识(面试八股文)
1.不会因为屏幕旋转等Actiity配置而导致销毁.
2.跟随生命周期
这里就不说明APi的使用了,网上文章太多了…
3.不会因为屏幕旋转等Actiity配置而导致销毁
这里只分析
AndroidX
我们来看一下他为什么可以跟随生命周期把.
我们入口使我们的实例化过程
【1】关于ViewModel
ViewModel是Jetpack AAC的重要组件,同时也有一个同名抽象类。 ViewModel,意为 视图模型,即为界面准备数据的模型。简单理解就是,ViewModel为UI层提供数据。
官方文档定义如下:
ViewModel 以注重生命周期的方式存储和管理界面相关的数据。(作用)
ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。(特点)
到这里,你可能还是不清楚ViewModel到底是干啥的,别急,往下看。
①背景引出:
在详细介绍View
[源码学习]ViewModel是什么?
ViewModel是Android架构组件包Jetpack的一个组件,它也是MVVM应用架构中的核心(Model-View-ViewModel),所以我们有必要学习一下ViewModel的基本原理
学习源码,我们还是老规矩,先看类结构图。
你没看错,ViewModel作为一个抽象类,只有一个空方法,
我们来看看这个类的介绍(Google developer官网介绍)
ViewModel类旨在以生命周期感知的方式来存储和管理UI相关的数据。ViewModel允许数据
ViewModel的作用是为界面准备数据,数据的获取操作(如网络请求)或者一些数据处理可以在该类中编写方法,减少在Activity的代码。
ViewModel里面的数据可以分为以下三类。
普通数据,只是负责保存数据,无特别作用,可当做普通类来用
public class Data
ViewModel extends
ViewModel {
public String name;