美文网首页实用
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的使用

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