Android微信MMKV使用記錄
阿新 • • 發佈:2018-12-12
MMKV 是基於 mmap 記憶體對映的 key-value 元件,底層序列化/反序列化使用 protobuf 實現,效能高,穩定性強。當然我這等菜鳥是不太理解的,先把用法get再說。
1.依賴注入
dependencies {
implementation 'com.tencent:mmkv:1.0.10'
// replace "1.0.10" with any available version
}
2.初始化
在Application處初始化
MMKV.initialize(this);
3.資料操作
預設使用單程序模式
MMKV kv = MMKV.defaultMMKV(); kv.encode("boolean", true); boolean bValue = kv.decodeBool("boolean"); kv.encode("int", Integer.MIN_VALUE); int iValue = kv.decodeInt("int"); kv.encode("string", "Hello from mmkv"); String str = kv.decodeString("string");
如需切到多程序模式可使用MULTI_PROCESS_MODE;
如果要使用多程序且用匿名記憶體,則使用MMKV.mmkvWithAshmemID(Context context, String mmapID, int size, int mode, String cryptKey)。
後面這些我沒試過,有興趣的可以自己嘗試一下,我之前也寫過一個關於SharedPreferences 的,相比起來確實是MMKV更加簡單好用一些。
對於SharedPreferences ,MMKV 提供了 importFromSharedPreferences() 函式,可以比較方便地遷移資料過來,還額外實現了一遍 SharedPreferences、SharedPreferences.Editor 這兩個 interface,在遷移的時候只需兩三行程式碼即可,其他 CRUD 操作程式碼都不用改。