MMKV框架详解
文章平均质量分 94
MMKV框架详解
Android 小码蜂
掘金账号:https://juejin.cn/user/4406498335701950 欢迎关注; 公众号:Android小码峰,Android面试,难点咨询,皆可找我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Android MMKV数据读取机制:从内存到磁盘的全解析(15)
MMKV的数据读取流程主要包括以下几个关键步骤:1. 从内存缓存中快速查找数据2. 如果内存中不存在,则从文件映射中读取3. 对加密数据进行解密处理4. 反序列化数据并返回给调用者原创 2025-05-12 17:00:00 · 704 阅读 · 0 评论 -
深入理解Android数据写入机制:从Java到Kernel全解析(14)
Android提供了多种数据存储方式,主要包括:- **文件存储**:通过Java IO或NIO操作文件- **SharedPreferences**:轻量级键值对存储- **SQLite数据库**:结构化数据存储- **ContentProvider**:跨应用数据共享- **网络存储**:通过网络API存储到远程服务器原创 2025-05-12 16:00:00 · 939 阅读 · 0 评论 -
深入理解Android MMKV初始化流程:从Java到C++全解析(13)
MMKV是腾讯开源的高性能键值存储框架,基于内存映射文件实现,相比传统的SharedPreferences具有显著的性能优势。它专为移动应用设计,特别适合高频次的小数据存储场景。原创 2025-05-12 15:00:00 · 781 阅读 · 0 评论 -
性能飙升!Android MMKV批量操作技巧全解析(12)
MMKV是腾讯开发的高性能键值存储框架,基于内存映射文件实现,相比传统的SharedPreferences具有显著的性能优势。它专为移动应用设计,特别适合高频次的小数据存储场景。原创 2025-05-12 14:00:00 · 836 阅读 · 0 评论 -
彻底搞懂!Android MMKV自定义数据类型存储全解析(11)
MMKV是腾讯开发的高性能键值存储框架,基于内存映射文件实现,相比传统的SharedPreferences具有显著的性能优势。它支持多种基础数据类型的存储,如int、String、boolean等,但对于自定义数据类型需要额外处理。原创 2025-05-12 13:00:00 · 1283 阅读 · 0 评论 -
安卓开发必看!MMKV数据加密功能深度解析(10)
MMKV是腾讯开发的一款高性能键值存储框架,全称为"Mobile Mini Key-Value"。它专为移动应用设计,旨在提供比SharedPreferences更高的读写性能和更可靠的数据存储解决方案。原创 2025-05-12 12:00:00 · 1140 阅读 · 0 评论 -
揭秘Android MMKV线程安全机制:从源码到实践的深度解析(9)
在多线程环境中,多个线程同时访问和修改共享数据可能导致数据竞争(Data Race)问题,如脏读、不可重复读和幻读等。在存储系统中,这些问题可能导致数据不一致、程序崩溃等严重后果。// 非线程安全的简单存储示例(仅作说明用)// 写入数据(非线程安全)// 假设这里有其他操作,可能被多线程干扰// 读取数据(非线程安全)// 保存到磁盘// 将数据写入磁盘的操作在上述示例中,如果多个线程同时调用put方法,可能会导致计算错误,或者在保存到磁盘时数据不一致。原创 2025-05-11 16:00:00 · 1065 阅读 · 0 评论 -
揭秘Android MMKV极致读写性能优化:从源码到实践的全解析(8)
/ 写入布尔值(优化为单字节存储)1 : 0);// 写入Varint编码的32位整数// 采用Varint编码,小整数用更少的字节表示这些优化使得常用数据类型的存储更加高效,减少了内存占用和读写时间。原创 2025-05-11 15:00:00 · 739 阅读 · 0 评论 -
探秘Android MMKV:从源码解析其内存管理的极致优化策略(7)
MMKV 是基于 mmap 内存映射文件,使用 protobuf 编码协议,提供 key - value 存取的 Android / iOS 通用组件。在内存管理方面,MMKV 旨在减少内存碎片、提高内存使用效率,以实现快速的数据读写操作。原创 2025-05-11 14:00:00 · 1126 阅读 · 0 评论 -
深入剖析:Android MMKV 数据持久化全流程揭秘(6)
MMKV 是基于 mmap 内存映射技术和 Protobuf 数据编码实现的高性能键值对存储框架,它专为 Android 和 iOS 平台量身打造。相较于 Android 传统的,MMKV 在性能、多进程支持等方面都有显著提升。在 Java 层获取应用的文件目录,并创建 MMKV 的存储根目录。调用 JNI 层的方法,将存储根目录路径传递给 C++ 代码。在 C++ 层,保存根目录路径,创建根目录,并初始化读写锁。在 Java 层调用或mmkvWithID方法。原创 2025-05-11 13:00:00 · 781 阅读 · 0 评论 -
深度揭秘:Android MMKV 中 Protobuf 如何实现高效数据编码(5)
Protobuf 是一种轻量级、高效的结构化数据存储格式,它通过定义数据结构的.proto文件,利用编译器生成对应语言的代码,实现数据的序列化和反序列化。与传统的 XML 和 JSON 相比,Protobuf 具有更高的编码效率和更小的存储空间,适合在性能敏感的场景中使用。在使用 Protobuf 之前,需要定义数据结构的.proto文件。// 定义一个简单的消息类型,用于存储用户信息// 指定使用 Protobuf 的版本为 3// 定义 User 消息,包含用户名和年龄两个字段。原创 2025-05-11 12:00:00 · 1083 阅读 · 0 评论 -
揭秘!Android MMKV 中 mmap 内存映射的神奇作用(4)
mmap(Memory - Mapped File)是一种在操作系统层面提供的机制,它允许进程将一个文件或者其他对象映射到自己的虚拟地址空间中。通过这种映射,进程可以直接对映射区域进行读写操作,而操作系统会自动将这些操作同步到对应的文件或者对象上。addr:指定映射的起始地址,通常传入NULL,让系统自动分配。length:映射的文件长度。prot:映射区域的保护权限,常见的有PROT_READ(可读)、PROT_WRITE(可写)、PROT_EXEC(可执行)等。flags:映射的标志,例如。原创 2025-05-11 11:00:00 · 1051 阅读 · 0 评论 -
深度揭秘!Android MMKV 多进程数据共享实现原理大剖析(3)
MMKV 基于 mmap 内存映射技术和 Protobuf 数据编码,实现了高效的数据存储和读取。其核心优势在于高性能和对多进程数据共享的良好支持。与相比,MMKV 在读写速度上有显著提升,尤其在多进程场景下表现更为出色。mmap(Memory - Mapped File)是一种将文件映射到进程虚拟地址空间的技术。通过 mmap,进程可以像访问内存一样直接访问文件,避免了频繁的 I/O 操作,从而提高了数据读写的性能。在 Linux 系统中,mmapaddr:指定映射的起始地址,通常传入NULL。原创 2025-05-11 10:00:00 · 900 阅读 · 0 评论 -
深度揭秘!Android MMKV数据更新与删除的底层实现全解析(2)
MMKV(Multi - Process Key - Value)是腾讯开源的高性能Android键值对存储框架。它基于mmap内存映射技术和Protobuf数据编码,实现了高效的数据存储与读取。与传统的SharedPreferences相比,MMKV在性能和多进程支持方面具有显著优势,特别适合处理频繁的数据操作场景。MMKV的数据更新操作本质上是先删除旧数据,再写入新数据。在内存映射区域中查找要更新的键对应的数据。删除旧数据。对新数据进行编码。将编码后的新数据写入内存映射区域。原创 2025-05-11 09:00:00 · 1992 阅读 · 0 评论 -
揭秘 Android MMKV:数据存储与读取的底层原理深度剖析(1)
MMKV 是腾讯开源的一个高性能、轻量级的键值对存储框架,其设计初衷是为了解决 Android 平台上性能不佳的问题。它通过 mmap 技术将文件映射到内存中,避免了频繁的 I/O 操作,从而显著提高了读写性能。同时,MMKV 使用 Protobuf 进行数据编码,保证了数据的高效存储和解析。MMKV 的初始化是使用它进行数据存储和读取的第一步。在初始化过程中,MMKV 会完成文件的创建或打开、内存映射的设置以及一些必要的数据结构的初始化。原创 2025-05-11 08:00:00 · 939 阅读 · 0 评论 -
揭秘 Android BlockCanary:异常处理与容错设计深度剖析(27)
BlockCanary 是一个轻量级的 Android 性能监控库,灵感源自 LeakCanary。它通过监听主线程的消息处理时间,当发现消息处理时间超过设定的阈值时,判定为卡顿,并记录详细的卡顿信息,如卡顿时间、堆栈信息等。开发者可以根据这些信息,分析卡顿产生的原因,进行针对性的优化。通过对 Android BlockCanary 的异常处理与容错设计机制的深入分析,我们可以看到,合理的异常处理和容错设计对于确保系统的稳定性和可靠性至关重要。原创 2025-05-11 07:00:00 · 679 阅读 · 0 评论
分享