NSUserDefaults 与内存
来源:互联网 发布:淘宝开店代销怎么发货 编辑:程序博客网 时间:2024/05/12 16:00
NSUserDefaults被设计用来存储设备和应用的配置信息,它通过一个工厂方法返回默认的、也是最常用到的实例对象。这个对象中储存了系统中用户的配置信息,开发者可以通过这个实例对象对这些已有的信息进行修改,也可以按照自己的需求创建新的配置项。
NSUserDefaults把配置信息以字典的形式组织起来,支持字典的项包括:字符串或者是数组,除此之外还支持数字等基本格式。一句话概括就是:基础类型的小数据的字典。操作方法几乎与NSDictionary的操作方法无异,另外还可以通过指定返回类型的方法获取到指定类型的返回值。
以上是开场白,下面请注意:
NSUserDefaults的所有数据都放在内存里,因此操作速度很快,并还提供一个归档方法:+ (void)synchronize。开发者自定义的配置项(如图2中的最后一项 key:alkdjfkladsjfmm)会以plist格式的文件归档在相应应用目录的/Library/Preferences/[App_Bundle_Identifier].plist文件。再次初始化获得实例对象后,框架会把用户自定义的这个配置和系统配置合并得到完整数据。
这句话就是说 当你加载一次 NSUserDefaults后,他会把全部的数据都载入到内存里边,而且之后就是常驻内存了.
再想一想, 你辛辛苦苦折腾他了老半天,就为了节省那么一点内存,哪知道加载NSUserDefaults就会浪费些许内存,一旦你把大规模的数据全部存到NSUserDefaults,这样的结果可能是灾难性的!
所以,NSUserDefaults存储大量数据最好别用,还是去找sqlite 和CoreData比较好
- NSUserDefaults 与内存
- 与NSUserDefaults共舞
- NSUserDefaults与设置
- 内存管理问题-NSUserDefaults
- NSUserDefaults的介绍与使用
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- NSUserDefaults
- android文字阴影效果
- cocos2d-x 将cocosbuilder输出文件映射成对象的原理
- 构造函数和析构函数
- 为什么navicat for mysql不能建立远程的查询?
- 通过句柄、指针、内存看变化
- NSUserDefaults 与内存
- 人生应把握的十个“度”
- Android 代码速写 - -!
- 【pongo】【最长有效括号】【代码求改】
- VO对象和PO对象的区别
- Linux下which、whereis、locate、find 命令的区别
- VLC播放基于HLS协议m3u8文件的几个问题
- Java与C++Socket通讯注意
- 如何博啊??