NSCache 一时失言乱红尘 2022-03-22 10:44 246阅读 0赞 # [NSCache][] # **简介** 1)NSCache 是苹果官方提供的缓存类,用法与 NSMutableDictionary 的用法很相似,在 AFNetworking 和 SDWebImage 中,使用它来管理缓存。 2)NSCache 在系统内存很低时,会自动释放一些对象(备注:在模拟器中内存警告时,缓存不会做清理动作)。开发中为了确保收到内存警告时真正释放内存,最好调用 - (void)removeAllObjects; 方法。 3)NSCache 是线程安全的,在多线程操作中,不需要对 NSCache 加锁。 4)NSCache 的 key 只是做强引用,不需要实现 NSCopying协议 **属性:** /** 名称 */ @property (copy) NSString *name; /** 代理 */ @property (nullable, assign) id<NSCacheDelegate> delegate; /** 缓存空间的最大总成本,超出上限会自动回收对象,默认值是 0,表示没有限制 */ @property NSUInteger totalCostLimit; /** 能够缓存对象的最大数量,默认值是 0,表示没有限制 */ @property NSUInteger countLimit; /** 标识缓存是否回收废弃的内容,默认值是 YES,表示自动回收 */ @property BOOL evictsObjectsWithDiscardedContent; **方法:** /** 返回与键值关联的对象 */ - (nullable ObjectType)objectForKey:(KeyType)key; /** 在缓存中设置指定键名对应的值,与可变字典不同,缓存对象不会对键名做 copy 操作,0 成本 */ - (void)setObject:(ObjectType)obj forKey:(KeyType)key; /** 在缓存中设置指定键名对应的值,并且指定该键值对的成本。当出现内存警告时,或者超出缓存的总成本上限时,缓存会开启一个回收过程,删除部分元素 @param cost 成本 (cost) 用于计算记录在缓冲中的所有对象的总成本 */ - (void)setObject:(ObjectType)obj forKey:(KeyType)key cost:(NSUInteger)g; /** 删除缓存中,指定键名的对象 */ - (void)removeObjectForKey:(KeyType)key; /** 删除缓存中所有对象 */ - (void)removeAllObjects; **委托方法:** /** 缓存将要删除对象时调用,注意:不能在此方法中修改缓存!! */ - (void)cache:(NSCache *)cache willEvictObject:(id)obj; 参考文档: [NSCache官方文档][NSCache 1] posted @ 2016-04-11 22:28 [Kingdev][] 阅读( ...) 评论( ...) [编辑][Link 1] 收藏 [NSCache]: https://www.cnblogs.com/xiu619544553/p/5380509.html [NSCache 1]: https://developer.apple.com/library/ios/documentation/Cocoa/Reference/NSCache_Class/index.html#//apple_ref/doc/uid/TP40008976 [Kingdev]: https://www.cnblogs.com/xiu619544553/ [Link 1]: https://i.cnblogs.com/EditPosts.aspx?postid=5380509
相关 iOS数据持久化设计探讨(NSCache,PINCache,YYCache,CoreData,FMDB,WCDB,Realm) 一、目标 了解移动端的数据持久化方式和对应的使用场景,提供相关技术选型做技术储备。 二、数据持久化的目的 1. 快速展示,提升体验 * ... た 入场券/ 2024年04月17日 22:24/ 0 赞/ 58 阅读
相关 NSCache缓存类的详解 NSCache:专门做缓存的类 NSCache简介:NSCache是苹果官方提供的缓存类,用法与NSMutableDictionary的用法很相似,在AFNetworking 分手后的思念是犯贱/ 2022年08月09日 12:56/ 0 赞/ 233 阅读
相关 NSCache在AFNetworking及SDWebImage中的使用流程 原文: http://blog.csdn.net/qianlima210210/article/details/49636837 NSCache是一个自动可变集合 (与 落日映苍穹つ/ 2022年07月30日 15:24/ 0 赞/ 45 阅读
相关 NSCache [NSCache][] 简介 1)NSCache 是苹果官方提供的缓存类,用法与 NSMutableDictionary 的用法很相似,在 AFNetworking 和 一时失言乱红尘/ 2022年03月22日 10:44/ 0 赞/ 247 阅读
相关 iOS 构建缓存时选 NSCache 而非NSDictionary 当系统资源将要耗尽时,NSCache可以自动删减缓存。如果采用普通的字典,那么就要自己编写挂钩,在系统通知时手动删减缓存,NSCache会先行删减 时间最久为被使用的对象 N 墨蓝/ 2022年03月01日 06:44/ 0 赞/ 126 阅读
还没有评论,来说两句吧...