日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MMKV_高性能MMKV数据交互分析-MMKV初始化

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MMKV_高性能MMKV数据交互分析-MMKV初始化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是mmkv?

mmkv 是基于 mmap 內(nèi)存映射的移動(dòng)端通用 key-value 組件,底層序列化/反序列化使用 protobuf 實(shí)現(xiàn),性能高,穩(wěn)定性強(qiáng)。

https://github.com/tencent/mmkv

為什么要替代sharedpreferences?

首先 安全性好。 sp實(shí)際上是把鍵值對(duì)放到本地文件中進(jìn)行存儲(chǔ)。如果要保證數(shù)據(jù)安全需要自己加密。

其次 讀寫速度更快。 mmkv是放在內(nèi)存里面,通過ashmem 匿名共享內(nèi)存實(shí)現(xiàn),讀取和寫入更方便。

第三 支持多線程訪問。由于實(shí)現(xiàn)機(jī)制是放在匿名共享內(nèi)存,你不需要關(guān)注內(nèi)存釋放之后的回寫和讀取。對(duì)于多線程支持更好。

第四 效率更高。mmkv 使用protobuf進(jìn)行序列化和反序列化,比起sp的xml存放方式,更加高效。

最重要的是 mmkv支持從 sp里面進(jìn)行遷移。

以上這些優(yōu)點(diǎn) 基本可以作為一個(gè)程序員對(duì)于代碼 “簡潔、高效、安全、友好、擴(kuò)展性好”的追求。 所以以后你還用sp嗎?

1.依賴注入

dependencies {

implementation 'com.tencent:mmkv:1.0.10'

// replace "1.0.10" with any available version

}

2.在application中進(jìn)行初始化

mmkv.initialize(this);

3.直接使用

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");

4. 分開使用多個(gè)mmkv實(shí)例例

mmkv* mmkv = mmkv.mmkvwithid("myid");

mmkv.encode("bool", true);

5. 多進(jìn)程模式

mmkv* mmkv = mmkv.mmkvwithid("interprocesskv", mmkv.multi_process_mode);

mmkv.encode("bool", true);

如您對(duì)本文有疑問或者有任何想說的,請點(diǎn)擊進(jìn)行留言回復(fù),萬千網(wǎng)友為您解惑!

總結(jié)

以上是生活随笔為你收集整理的MMKV_高性能MMKV数据交互分析-MMKV初始化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。