試試用騰訊MMKV替換原始緩存

快過年了,趕在年末寫點(diǎn)技術(shù)文章,這一年好像沒有寫多少技術(shù)類文章,來年繼續(xù)努力!

言歸正傳,MMKV相對于SP有哪些優(yōu)勢呢?

在微信客戶端的日常運(yùn)營中,時不時就會爆發(fā)特殊文字引起系統(tǒng)的 crash,參考文章,文章里面設(shè)計的技術(shù)方案是在關(guān)鍵代碼前后進(jìn)行計數(shù)器的加減,通過檢查計數(shù)器的異常,來發(fā)現(xiàn)引起閃退的異常文字。在會話列表、會話界面等有大量 cell 的地方,希望新加的計時器不會影響滑動性能;另外這些計數(shù)器還要永久存儲下來——因?yàn)殚W退隨時可能發(fā)生。這就需要一個性能非常高的通用 key-value 存儲組件,我們考察了 SharedPreferences、NSUserDefaults、SQLite 等常見組件,發(fā)現(xiàn)都沒能滿足如此苛刻的性能要求??紤]到這個防 crash 方案最主要的訴求還是實(shí)時寫入,而 mmap 內(nèi)存映射文件剛好滿足這種需求,我們嘗試通過它來實(shí)現(xiàn)一套 key-value 組件。

使用方法:

1:引入

implementation'com.tencent:mmkv:1.0.17'

2:初始化

String rootDir = MMKV.initialize(this);//初始化

3:存值

kv.encode("string","這里是緩存的值");

kv.putString("string","sdkfsdfs");

4:取值

String str = kv.decodeString("string");

String value = kv.getString("string","111");

這里需要注意MMKV緩存的路徑:


png

小朋友們會使用MMKV了嗎.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容