首页 > 解决方案 > 为什么Bundle不适合大数据,而ViewModel适合?

问题描述

我读了这个,它说:

对于简单数据,activity可以使用onSaveInstanceState()方法,在onCreate()中从bundle中恢复其数据,但是这种方式只适用于可以序列化再反序列化的少量数据,不适用于潜在的大量数据比如用户列表或位图。

我的问题是为什么?在使数据在实例之间持久化方面,ViewModel 与 Bundle 有何不同?

标签: androidbundleviewmodel

解决方案


存储在其中的数据Bundle是可序列化的,并且可以在进程死亡后继续存在 - 您可以在应用程序再次启动后恢复它。另一方面,仅在(例如,屏幕旋转)ViewModel期间存活,并且如果组件死亡,则不保存其数据。configuration change


推荐阅读