码迷,mamicode.com
首页 > 系统相关 > 详细

step 3 NSCache

时间:2016-01-01 21:04:02      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

NSCache

介绍

  • NSCache 是苹果提供的一个专门用来做缓存的类
  • 使用和 NSMutableDictionary 非常相似
  • 是线程安全的
  • 当内存不足的时候,会自动清理缓存
  • 程序开始时,可以指定缓存的数量 & 成本

方法

1  取值

?                     - (id)objectForKey:(id)key;

2  设置对象,0成本

?                     - (void)setObject:(id)obj forKey:(id)key;

3  设置对象并指定成本

?                     - (void)setObject:(id)obj forKey:(id)key cost:(NSUInteger)g;

4  成本示例,以图片为例:

?                     方案一:缓存 100 张图片

?                     方案二:总缓存成本设定为 10M,以图片的 宽 * 高当作成本,图像像素。这样,无论缓存的多少张照片,只要像素值超过 10M,就会自动清理

?                     结论:在缓存图像时,使用成本,比单纯设置数量要科学!

5  删除

?                     - (void)removeObjectForKey:(id)key;

6  删除全部(不要使用!)

?                     - (void)removeAllObjects;

属性

  • @property NSUInteger totalCostLimit;

                        缓存总成本

  • @property NSUInteger countLimit;

                        缓存总数量

  • @property BOOL evictsObjectsWithDiscardedContent;

是否自动清理缓存,默认是 YES

step 3 NSCache

标签:

原文地址:http://www.cnblogs.com/fakeCoder/p/5093724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!