mmkv的 mmap 的理解

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

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

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

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

相关推荐
天空之城--8 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil9 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine13 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu13 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu13 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
TimeFine13 小时前
智能眼镜开发:眼镜Touch后收音与触发播放系统音乐的矛盾处理
android
TimeFine14 小时前
智能眼镜开发:眼镜侧收集音频
android
又见情义14 小时前
Android 系统设置从平板版迁移至TV版实践
android
杉氧17 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架