1、sp储存是线程安全的,内部有大量的 synchronized 关键字保障
2、sp最终是以xml文件储存在磁盘上的。
3、每次获取sp的时候会先读取对应磁盘中的xml文件加载到内存中,然后在调用就直接从内存中了。
(需要注意的是,在第一次读取文件到内存时,如果还没读取完毕就调用了 getXX等方法的时候,会进行等待,可能造成卡顿)
4、sp储存的数据不易过大,因为第一次读取到内存后是静态数据,一直存在,占用过多的内存。
5、sp的apply和commit区别
在修改了sp中的内容后都需要进行内存中的数据更改和本地磁盘中的xml文件修改,apply是采用了内存中修改后直接返回,然后异步写入到磁盘。不用等到磁盘写入成功即可返回。commit需要等磁盘写入成功才会返回。
6、磁盘写入步骤
1)首先把原文件重命名加上.bak后缀作为灾难备份
2)写入数据,成功后 删除灾备 记录时间。如果失败 处理失败情况
Android的SharedPreferences储存小记
最新推荐文章于 2022-06-10 23:10:47 发布