MMKV与SharedPreference

2020-08-23 11:31:39

鉴于SP的"种种问题",萌发了想要使用写文件的方式替换掉sp的想法,发现腾讯开源MMKV是个不错的选择。

存储方式
  1. SharedPreferences
  2. ContentProvider
  3. 文件
  4. 数据库
如何选择
时间开销 这里说的时间开销包括了CPU时间和/0时间,在I/O优化中我就多次提到相比CPU和内存,I/0存储的速度是非常慢的。但是如果存储方法中比如编解码或者加密/解密等设计的比较复杂,整个数据存储过程也会出现CPU时间变得更长的情况
正确性 选择存储方案的时候,第一个需要判断它是否靠谱。这套存储方案设计是否完备,有没有支持多线程或者跨进程同步操作。内部是否健壮,有没有考虑异常情况下数据的校验和恢复,比如采用双写或者备份文件策略,即使主文件因为系统底层导致损坏,也可以一定程度 上恢复大部分数据
空间开销 即使相同的数据如果使用不同的编码方式,最后占用的存储空间也会有所不同。举一个简单的例子,相同的数据所占的空间大小是XML>JSON>ProtocolBuffer。除了编码方式的差异,在一些场景我们可能还需要引入压缩策略来进-步减少存储空间,例如zip、lzma等。数据存储的空间开销还需要考虑内存空间的占用量,整个存储过程会不会导致应用出现大量GC、OOM等
安全 应用中可能会有一些非常敏感的数据,即使它们存储在/data/data中,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值