mmkv的 mmap 的理解

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

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

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

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

相关推荐
程序员-珍2 小时前
报错下载android sdk失败
android·java
齊家治國平天下3 小时前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
Xzaveir3 小时前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
2501_916007474 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
黄林晴4 小时前
Nearby Connections 重大变更:不再自动开启 Wi-Fi / 蓝牙,适配指南
android
恋猫de小郭5 小时前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
HLC++18 小时前
Linux的进程间通信
android·linux·服务器
爱笑鱼21 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
爱笑鱼1 天前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android
壮哥_icon1 天前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化