Android之MMKV介绍

作者: Lee_5566 | 来源:发表于2021-09-15 16:25 被阅读0次
    image.png

    MMKV

    MMKV——基于 mmap 的高性能通用 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。

    从 2015 年中至今,在 iOS 微信上使用已有近 3 年,其性能和稳定性经过了时间的验证。
    近期已移植到 Android 平台。在腾讯内部开源半年之后,得到公司内部团队的广泛应用和一致好评。

    通过 mmap 内存映射文件,提供一段可供随时写入的内存块,App 只管往里面写数据,
    由操作系统负责将内存回写到文件,不必担心 crash 导致数据丢失。

    快速上手

    添加依赖:

    dependencies {
        implementation 'com.tencent:mmkv:1.0.23'
        // replace "1.0.23" with any available version
    }
    

    在 App 启动时初始化 MMKV,设定 MMKV 的根目录
    (默认/data/data/xxx/files/mmkv/)
    (sp存储在/data/data/xxx/shared_prefs)
    初始化方式:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        String rootDir = MMKV.initialize(this);
        System.out.println("mmkv root: " + rootDir);
        //……
    }
    

    所有变更立马生效,无需调用 sync、apply。

    MMKV 会提供一个全局的实例,使用实例:

    import com.tencent.mmkv.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");
    

    相关文章

      网友评论

        本文标题:Android之MMKV介绍

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