android - 为什么Bundle不适合大数据,而ViewModel适合?
问题描述
我读了这个,它说:
对于简单数据,activity可以使用onSaveInstanceState()方法,在onCreate()中从bundle中恢复其数据,但是这种方式只适用于可以序列化再反序列化的少量数据,不适用于潜在的大量数据比如用户列表或位图。
我的问题是为什么?在使数据在实例之间持久化方面,ViewModel 与 Bundle 有何不同?
解决方案
存储在其中的数据Bundle
是可序列化的,并且可以在进程死亡后继续存在 - 您可以在应用程序再次启动后恢复它。另一方面,仅在(例如,屏幕旋转)ViewModel
期间存活,并且如果组件死亡,则不保存其数据。configuration change
推荐阅读
- python - 使用 HTML 和 Flask (python) 在同一网页上发布用户输入的输出
- vba - VBA 电源点缺少参考库
- javascript - 如何在 Vue 3 模板中使用导入函数?
- outlook-addin - 由变量正则表达式启动的上下文插件
- javascript - 使用 NETLIFY 表单时的电子邮件验证
- excel - 按颜色渐变的条件格式问题。谢谢
- python - 我应该使用什么方法对具有数千个类别的文本进行分类?
- ios - 何时创建新的 Apple 推送通知服务证书
- python - 在@njit 装饰函数中使用@jitclass 创建字典
- ios - 如何在 iOS 设备上获取所有(或选择一个)注册的电子邮件帐户(针对当前用户)