
由上图官网的描述所示可知,ViewModel的用处:
1.就是用于恢复界面的作用(参考ViewModel)
2.从界面控制逻辑中分理处视图数据所有权

接下来试试 创建一个VIewModel后恢复页面重新创建后的数据
创建一个简单的页面

创建一个简单的ViewModel


正常情况下,修改页面的数据,然后页面旋转重建后,页面数据会变回默认 (这里暂不做演示,有兴趣的朋友自己去试一下,不使用viewModel的情况跟使用viewModel的情况)
这里使用了savedInstanceState判断是否重建了,其实也可以直接在onCreate中,判断tvLiveData.getValue是否为空,非空则修改页面数据即可
可以通过viewModel恢复数据的原因,即上面第二张图片,viewModel的生命周期,覆盖了activity的整个生命周期,直到activity再次正常退出并正常创建。
屏幕竖屏横屏翻转情况下activity的生命周期变化
ViewModel的使用就是那么简单,配合liveData数据回调(只会在前台运行中才回调数据),再配合okhttp在viewModel实现网络请求以及其他一些数据处理。
本文介绍ViewModel如何保持界面状态,避免因设备方向改变导致的数据丢失。通过实例演示如何使用ViewModel及LiveData进行数据恢复与回调,实现稳定的用户体验。
3047

被折叠的 条评论
为什么被折叠?



