tencent/mmkv

An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, POSIX, and OHOS.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 15 minutes ago
Added to GitGenius on September 3rd, 2026
Created on September 17th, 2018
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 1,984
Total Stargazers: 18,726 (+0)
Total Subscribers: 289 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

MMKV is a key-value storage framework designed for mobile and cross-platform applications, available on Android, iOS, macOS, Windows, POSIX, and HarmonyOS NEXT.

The framework addresses the need for efficient, lightweight persistent storage on mobile devices by using memory-mapped files to keep memory synchronized with disk and protobuf encoding for compact value representation. This approach eliminates the need for explicit synchronization calls—all changes are saved immediately. MMKV supports multi-process concurrent access, allowing read-read and read-write operations across processes without blocking.

Developers should choose MMKV for mobile applications where storage footprint and performance matter. On Android, it adds approximately 50K per architecture to app size and significantly less when compressed in an APK; on iOS and macOS, the overhead is less than 30K per architecture. The tool suits projects requiring straightforward key-value persistence without configuration overhead. Starting from version 2.0.0, MMKV dropped support for 32-bit architectures and Android API levels 21 and 22, so projects targeting older Android versions should use the LTS series. The project includes experimental Kotlin Multiplatform support targeting Android and iOS, with language bindings available for Kotlin, Swift, Python, and Go.

The maintainers respond to issues and pull requests within hours. Work in the issue tracker centers on enhancement requests, indicating active development focused on feature expansion rather than bug remediation.