mmkv的 mmap 的理解

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

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

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

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

相关推荐
没有了遇见2 小时前
Android之直播宽高比和相机宽高比不支持后动态获取所支持的宽高比
android
shenshizhong2 小时前
揭开 kotlin 中协程的神秘面纱
android·kotlin
vivo高启强3 小时前
如何简单 hack agp 执行过程中的某个类
android
沐怡旸3 小时前
【底层机制】 Android ION内存分配器深度解析
android·面试
你听得到113 小时前
肝了半个月,我用 Flutter 写了个功能强大的图片编辑器,告别image_cropper
android·前端·flutter
KevinWang_3 小时前
Android 原生 app 和 WebView 如何交互?
android
用户69371750013843 小时前
Android Studio中Gradle、AGP、Java 版本关系:不再被构建折磨!
android·android studio
杨筱毅4 小时前
【底层机制】Android低内存管理机制深度解析
android·底层机制
二流小码农5 小时前
鸿蒙开发:this的指向问题
android·ios·harmonyos