我读到,如果我们想在 Activity 重新启动(旋转设备)时保存任何数据,我们必须将所有数据存储在 Bundle 的 saveInstanceState()
中。
但是,如果我们想将大数据结构保存在 bundle 中 - 它会卡住系统并增加内存使用量。
例如:
我有一个包含 50,000,000 个元素的 HashMap
。读取是从SD卡读取的。因此,如果我将 HashMap
保存到 Bundle
- 它会在很长一段时间内卡住设备的旋转。
有没有一种方法,我们可以保存数据而不存储在Bundle
中? (例如,将指针保存到HashMap
?)
最佳答案
你绝对不应该这样做。您应该手动处理方向更改或将此数据保留在您的 Activity 之外,例如在服务中。
关于java - 在 saveInstanceState 包中存储大数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369245/