导读

[模块] 基于MMKV2.4封装的MMkV模块分享-

[复制链接]

微信扫一扫 分享朋友圈

传世魔王 发表于 2026-7-6 07:34:54 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Windows / POSIX / HarmonyOS NEXT 等平台,一并开源。



内存准备
通过 mmap 内存映射文件,提供一段可供随时写入的内存块,App 只管往里面写数据,由操作系统负责将内存回写到文件,不必担心 crash 导致数据丢失。
数据组织
数据序列化方面我们选用 protobuf 协议,pb 在性能和空间占用上都有不错的表现。
写入优化
考虑到主要使用场景是频繁地进行写入更新,我们需要有增量更新的能力。我们考虑将增量 kv 对象序列化后,append 到内存末尾。
空间增长
使用 append 实现增量更新带来了一个新的问题,就是不断 append 的话,文件大小会增长得不可控。我们需要在性能和空间上做个折中。

、

131510p8pd48sm2shmpu2b.png
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

精彩评论5

a491198538 发表于 2026-7-6 19:38:42 | 显示全部楼层
的法国风格化规范化
回复 支持 反对

使用道具 举报

dsdasf 发表于 2026-7-6 22:18:45 | 显示全部楼层
666学习了!!
回复 支持 反对

使用道具 举报

卧槽你妹 发表于 2026-7-7 17:13:33 | 显示全部楼层
学习中,看看代码啥情况
回复 支持 反对

使用道具 举报

带小叶 发表于 2026-7-8 02:42:54 | 显示全部楼层
鉴定完毕是个好资源
回复 支持 反对

使用道具 举报

seasoners 发表于 2026-7-17 07:47:07 | 显示全部楼层

学习中,看看代码啥情况
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们:觅风论坛与你快乐分享

收藏本站

用心服务做个非盈利公益编程网站

www.eyyba.com

服务人:觅风论坛

Email:eyyba@foxmail.com

Powered by WWW.EYYBA.COM X3.4© 2001-2023 Inc.   版权所有   

觅风论坛  疆ICP备15020893号-1