MMKV是腾讯开源的轻量级持久化存储框架,相比于传统的SharedPreFerences(以下简称SP),优点有很多
- MMKV有更好的锁机制来保证数据的完整,而SP的跨进程和apply机制会导致数据的丢失
- SP是全量更新,也正因如此,它的时间开销更大,MMKV存储是mmap,无需全量写入
- MMKV同时也能够直接导入SP中的数据
- 使用MMKV能够更好的避免程序ANR
…
使用SP低性能导致程序ANR,commit 和 apply 均可能会造成ANR,这也是Android工程师最为痛恨的大病之一,所以使用MMKV可以避免此问题,使得自己心情舒畅!从下图看出MMKV与SP的读写耗时对比,MMKV也是毫不逊色的!
(下面这一个图是我自己写的代码测试所得到的)
MMKV Github给出的:
Writing random int for 10000 times, we get this chart:
写入随机Int值10000次所得到的图表
来实操一下,看看MMKV耐不耐操
引入
dependencies {
implementation ‘com.tencent:mmkv-static:1.2.9’
}
最简单的代码栗子
1、在Application初始化
MMKV.initialize(this)//会返回MMVK存储的目录(String)
2、创建MMKV,可以通过 defaultMMKV() 来创建,这个是全局默认的;也可以通过 mmkvWithID() 对应自己业务来创建,如下:
val mmkv = MMKV.defaultMMKV()
val mmkv = MMKV.mmkvWithID(“mmapID”)
学习分享
在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021最新上万页的大厂面试真题
七大模块学习资料:如NDK模块开发、Android框架体系架构…
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。
,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。