安卓中MMKV的使用
前言
安卓存储数据的方式有很多,sqlite存储复杂数据,而以前通常使用SharedPreferences存储键值对的简单数据,如今MMKV以其高性能的特点替代SharedPreferences成为了主流,本篇就MMKV的相关内容展开讲述。
一、MMKV是什么?
MMKV 是腾讯的一款开源的、基于 mmap 内存映射的 key-value 组件,底层序列化 / 反序列化使用 protobuf 实现,性能高,稳定性强。此外,MMKV支持进程之间的并发读写访问,并且采用了一系列优化策略,包括压缩、加密等,因此使用起来也十分便利。
官网中MMKV与SharedPreferences做的对比:
二、安卓中的简单使用
首先安卓中依赖添加:
implementation 'com.tencent:mmkv:1.3.1'
1.通用类
代码如下:
abstract class MMKVUtil {
abstract fun name(): String
var mmkv = MMKV.mmkvWithID(name())
}
2.具体使用
创建一个TestMMKV,记得使用单例模式:
class TestMMKV() : MMKVUtil() {
companion object {
var INSTANCE: TestMMKV? = null
get() {
if (field == null) {
field = TestMMKV()
}
return field
}
fun getInstance(): TestMMKV {
return INSTANCE!!
}
}
override fun name(): String {
return "test"
}
}
写入数据:
TestMMKV.getInstance().mmkv.putString(BundleKeys.TITLE, "title")
读取数据
val title = TestMMKV.getInstance().mmkv.getString(BundleKeys.TITLE, "暂无数据")
总结
本文仅仅简单介绍了mmkv的使用,更多详细内容请看下方链接:
MMKV 官方git链接
MMKV中文文档