Closed fengtech closed 2 years ago
你是不是往集合里面添加元素, 然后发现元素没有保存到磁盘
因为只能保存对象, 对于对象自身的属性变动无法识别也无法保存, 文档有提及:覆盖值
是的,我在集合里面动态添加元素了。 这种如果不能保存的话, 请教用什么方法处理比较好?谢谢
我的回复中包含文档提及
看了文档, 实际上我就是用 serialLazy() , 没有效果 var listStdTF : MutableList by serialLazy()
文档写错了, serialLazy()
也不会触发保存到磁盘, 保存和liveData
一样只能处理value而不能监听value里面的字段
关于单纯的列表建议使用数据库保存, 因为存在N多条元素, 可能会在集合体积非常大的情况下影响高度读写性能
明白了, 主要是一些不确定数量但是数据又不多的列表我想通过这种方式保存。
我当初设计也是为了保存这些轻量级数据方便主线程读写
我将会更新完善文档, 如果你发现错误也可以修改后发起pr
@Parcelize data class MtbAStdTFEntity( var CurrentMax: Double = 0.0, var CurrentMin: Double = 0.0, var Duration: Int = 0, var Freq: Int = 0, var item: Int = 0 ) : Parcelable
object MtbaSet { var listStdTF : MutableList by serialLazy()
}
通过对listStdTF赋值后发现只是内存中数据改,没有保存到磁盘,app重启启动时候没有数据,是否用法有问题