An efficient, small mobile key-value storage framework developed by WeChat, supporting Android, iOS, macOS, Windows, POSIX, and HarmonyOS.
MMKV is an efficient, small, and easy-to-use mobile key-value storage framework developed by Tencent for the WeChat application. It solves the performance limitations of traditional storage solutions like Android's SharedPreferences and iOS's NSUserDefaults by using memory-mapped files and Protocol Buffers encoding for fast, persistent data storage.
Mobile developers building applications for Android, iOS, macOS, Windows, or HarmonyOS who need high-performance, persistent key-value storage with multi-process support.
Developers choose MMKV for its exceptional performance, small footprint, and ease of use compared to platform-native storage options, with the added benefit of cross-platform consistency and proven reliability from large-scale deployment in WeChat.
An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, POSIX, and OHOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses memory-mapped files and Protocol Buffers encoding, with benchmarks showing up to 100x faster writes compared to SharedPreferences, as highlighted in the README's performance charts.
Supports concurrent read-read and read-write operations between processes, enabling safe data sharing across app components without manual synchronization.
Adds only 7-50KB per architecture to app size, keeping applications lightweight, as specified in the platform-specific feature lists.
Provides a uniform API across Android, iOS, Windows, POSIX, and HarmonyOS, simplifying development for multi-platform projects with shared codebases.
Only supports key-value pairs with basic types (e.g., bool, int, string), lacking native support for complex data structures, queries, or relational models.
Does not offer encryption out-of-the-box for sensitive data, requiring developers to implement and manage their own security measures, which adds complexity.
Version 2.0.0 dropped support for 32-bit architectures and older API levels (below 23), forcing migrations for legacy projects, as noted in the Android installation section.