android_setup_cn
MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Win32 / POSIX 平台,一并开源。
- MMKV 支持 API level 16 以上平台;
- MMKV 需使用 NDK r16b 或以上进行编译 (通过源码引入 MMKV 的话)
-
通过 Maven(推荐)
从 v1.2.8 起, MMKV 迁移到 Maven Central。老版本 (<= v1.2.7) 仍然在 JCenter。
-
在 App 模块的
build.gradle
文件里添加:dependencies { implementation 'com.tencent:mmkv:1.3.4' // replace "1.3.4" with any available version }
Gradle 在编译工程的时候会自动从 maven 仓库下载 AAR 包。
-
MMKV 默认以静态库形式链接 libc++。这个库如果动态链接,会额外占用 2MB 空间(解压后)。如果你已经有其他库引入了
libc++_shared.so
,并且你确保他们的库没有版本兼容问题,你可以使用动态链接 libc++ 的 MMKV,以进一步减少安装包大小:dependencies { implementation 'com.tencent:mmkv-shared:1.3.4' // replace "1.3.4" with any available version }
-
-
通过编译源码
从 v1.2.9 起,MMKV 不再官方支持 armeabi 架构。如果你需要支持 armeabi,你可以源码编译。-
获取 MMKV 源码:
git clone https://github.com/Tencent/MMKV.git cd mmkv
-
通过 Android Studio 的 SDK Manager 安装最新的 NDK。
注意:从 NDK r17 开始, Android 官方不再支持ARMv5 (armeabi)
架构。如果你的 App 还需要支持 armeabi,那么你需要安装 NDK r16b 来编译 MMKV。并且需要从文件Android/MMKV/mmkv/build.gradle
里反注释这两行:// uncomment this line to support armeabi // abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' ... // uncomment this line to support armeabi by using android-ndk-r16b // ndkVersion = '16.1.4479499'
-
用 Android Studio 打开项目目录
Android/MMKV
即可编译 MMKV,你也可以从命令行编译:cd Android/MMKV ./gradlew build
-
如果你确定不需要加密功能,你可以在
Core/MMKVPredef.h
文件中打开宏MMKV_DISABLE_CRYPT
,以减小一些二进制大小。 -
如果你确定不需要 MMKV for Flutter 功能,你可以在
Core/MMKVPredef.h
文件中打开宏MMKV_DISABLE_FLUTTER
,以减小一些二进制大小。
-
- In English
- 中文
- In English
- 中文
- In English
- 中文
-
In English
-
中文
-
Python
-
Golang