MMKV实现:数据存储和读取
本文链接:https://blog.youkuaiyun.com/feather_wch/article/details/131671190
整体
1、mmkv实现整体思路
- mmkv Java层创建了多个MMKV对象(底层同一个native对象)
- 底层C层用unordered_map存储C层对象,保证了上层都访问的是同一个mmkv C++对象
2、mmkv方法
- 初始化方法-(1)构造map集合(2)创建目录和文件
- defaultMMKV(1)获取mmkv对象,底层mmkvWithId map中查找保证唯一性 instance是底层全局的 (2)MMKV()中读取文件,解析文件
- mmkv
3、ID是什么?有什么用?
- ID默认为 mmkvdefault 可以理解为文件名
4、MMKV对象结构
MMKV.java long handle = getDefaultMMKV() // long 地址,指针 --- JNI层面: MMKV * kv = MMKV::defaultMMKV() return reinterpret_cast(kv) // long值恢复为MMKV对象 MMKV * kv = reinterpret_cast(native_handle) --- MMKV.cpp defaultMMKV(){ return MMKV() }
实现
5、MMKV构造方法:
MMKV() ->省略 多进程模式相关、进程锁、应用锁相关内容 ->loadFromFile() -> fd = open(xxx
MMKV数据存储与读取机制详解

最低0.47元/天 解锁文章
331

被折叠的 条评论
为什么被折叠?



