mmkv的 mmap 的理解

传统I/O 的示意图 个人理解

对于传统I/O 我们一般说的效率低 是指 修改数据都需要 把数据在用户缓存 内核缓存直接 拷贝来拷贝去。且每次都是全量拷贝。

mmap对应的示意图 个人理解。

对于mmap解决的就是去除了把数据在用户缓存 内核缓存直接 拷贝来拷贝去的步骤。改为操作由内核创建的一块物理内存。这个区域进程可以直接访问,内核也可以直接访问。大家说的内存映射就是这块共享内存跟磁盘内存的映射,app读写数据都是直接操作共享内存,app读取发现没有数据,内核负责区磁盘读取放到共享内存。app写数据,内核负责同步数据到磁盘。

相关推荐
如此风景12 分钟前
Kotlin Flow操作符学习
android·kotlin
plainGeekDev1 小时前
GreenDAO → Room
android·java·kotlin
weiggle1 小时前
第八篇:ViewModel + Compose——生产级状态管理实践
android
恋猫de小郭6 小时前
Amper 正式转正 Kotlin Toolchain ,Gradle 未来何去何从
android·前端·flutter
plainGeekDev8 小时前
ButterKnife → ViewBinding
android·java·kotlin
成都大菠萝21 小时前
Android Car CarProperty 车辆信号链路
android
敲代码的鱼1 天前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
时光足迹1 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
Coffeeee1 天前
闲聊几句,Android老哥们,你们多久没做技改需求了
android·程序员·代码规范
萝卜er1 天前
Fragment 生命周期与状态恢复-《Android深水区(四)》
android