美文网首页
为什么不建议使用NSUserDefault存储大量数据

为什么不建议使用NSUserDefault存储大量数据

作者: 程序员学哥 | 来源:发表于2020-08-26 22:43 被阅读0次

    简单介绍一下NSUserDefaults,原理上看NSUserDefaults 其实是在操作一个 plist 文件。读取NSUserDefaults值的时候会默认在内存中缓存下来一份,所以NSUserDefaults的读取速度比较快。正常情况下,我们后面对NSUserDefaults的读取都是从内存中读取的,经测试删除.plist文件后,依然可以正常读取,基本可以证明这一点。NSUserDefaults 的存储目录是在/Library/Preferences下的一个.plist文件,该路径可通过配置实现iTunes共享文件。可被iTunes备份。

    1: 即使只是修改一个 key 都会 load 整个文件,不适合存储大量数据。

    2:NSUserDefaults是保存成文本格式的,容易被破解,解析效率也比较低。所以数据太大的时候,解析起来就慢了。

    3:NSUserDefaults你每次同步都要全写,打开要全读。小数据连同大数据一起操作了,IO以及内存都不划算,况且还有解析、序列化的成本。大数据建议弄出去,别跟NSUserDefaults这种经常存取的弄一起。

    4:要注意的是NSUserDefault存储的都是不可变(immutable)的数据,就算是将NSMutableArray存到NSUserDefault,读取出来之后还是会变成NSArray类型的。

    相关文章

      网友评论

          本文标题:为什么不建议使用NSUserDefault存储大量数据

          本文链接:https://www.haomeiwen.com/subject/tacqsktx.html