美文网首页实用
Android-MMKV的使用

Android-MMKV的使用

作者: 阿博聊编程 | 来源:发表于2022-09-22 09:08 被阅读0次
图片来源网络,入侵必删

Android项目开发中,我们可能会遇到使用MMKV做缓存的项目。这里分享一下关于MMKV的知识,希望能帮助到看文章的小伙伴。

MMKV的原理

  • 内存准备,通过 mmap 内存映射文件,提供一段可供随时写入的内存块,App 只管往里面写数据,由操作系统负责将内存回写到文件,不必担心 crash 导致数据丢失。
  • 数据组织,数据序列化方面我们选用 protobuf 协议,pb 在性能和空间占用上都有不错的表现。
  • 写入优化,考虑到主要使用场景是频繁地进行写入更新,我们需要有增量更新的能力。我们考虑将增量 kv 对象序列化后,append 到内存末尾。
  • 空间增长,使用 append 实现增量更新带来了一个新的问题,就是不断 append 的话,文件大小会增长得不可控。我们需要在性能和空间上做个折中。

Android版本特点

  • 多进程访问
  • 匿名缓存
  • 数据加密

引入项目

dependencies {
    implementation 'com.tencent:mmkv:1.2.14'
}

在我发布博客的时候,开源库版本是1.2.14开源库最新版本请看wiki

简单的使用

初始化,在Application当中:

public void onCreate() {
    super.onCreate();
   MMKV.initialize(this);
}

MMKV有提供全局实例,我们可以直接调用:

MMKV kv = MMKV.defaultMMKV();

kv.encode("bool", true);
boolean bValue = kv.decodeBool("bool");

kv.encode("int", Integer.MIN_VALUE);
int iValue = kv.decodeInt("int");

kv.encode("string", "Hello from mmkv");
String str = kv.decodeString("string");

上面的示例代码来自官方的wiki,在实际的应用开发当中,我个人建议封装成工具类来具体使用。

相关文章

  • Android-MMKV的使用

    在Android项目开发中,我们可能会遇到使用MMKV做缓存的项目。这里分享一下关于MMKV的知识,希望能帮助到看...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

    本文标题:Android-MMKV的使用

    本文链接:https://www.haomeiwen.com/subject/gbwiortx.html