android - Android Viewmodel 如何在内部工作,视图模型的内部工作
问题描述
Android Viewmodel 如何在内部工作?
Viewmodel 如何在 Activity 被销毁时保存数据并在设备旋转时重新创建
解决方案
Android Viewmodel 如何在内部工作?
AndroidViewModel
旨在以这样一种方式存储和管理与 UI 相关的数据,使其能够在配置更改(例如屏幕旋转)中幸存下来。
ViewModel
被先前调用它的活动调用,它重新使用该ViewModel
对象的实例。但是,如果Activity
被销毁或完成,对方会ViewModel
调用onClear()
清理资源的方法。意思是如果你在你的ViewModel
:
override fun onClear() {
super.onClear()
clearAllLiveDataValues()
disposeAllVariables()
}
此处添加的函数调用将被调用。
Viewmodel 如何在 Activity 被销毁时保存数据并在设备旋转时重新创建
ViewModel
有自己的生命周期,允许自己在屏幕旋转期间恢复其状态以及它持有的瞬态数据。
注意:
Activity
和ViewModel
的生命周期都是短暂的。不建议允许ViewModel
在配置更改期间处理关键或敏感数据。
当您希望在特定屏幕或应用程序的一部分中处理关键或敏感数据时,您的应用程序应使用共享首选项、安全存储(如有必要)、本地数据库或云存储。
我建议您阅读以下内容:
推荐阅读
- r - 导入不同文件夹下的几个json文件
- cron - 如何使用 wget 编写 cron 作业
- java - Recyclerview 调用 notifyItemChanged 导致一个空白项
- java - 如何使用 Java 反射从 JSON 请求中按键获取特定值
- java - 在尝试使用 Java 11 加载 OpenCV 时遇到 java.lang.UnsatisfiedLinkError
- spring - 提供静态内容的 Springboot 服务器问题
- xamarin - 如何从内容页面调用主详细信息页面
- sql - 控制 A 字符分隔符
- python - Web 从交互式网络地图中抓取屏幕图像
- android - 如何在 30 天后测试无效会话?