NSCache何时释放缓存对象?

时间:2013-09-19 16:08:18

标签: ios objective-c uiimage nsdata nscache

我已经实现了一个列表,其中异步加载了许多大图像。我正在使用NSCache的实例来存储这些UIImage个文件。当我向下滚动时,我会加载越来越多的图像。我设置了它并正在分析应用程序的分配,我注意到缓存似乎没有释放任何内存。 “Live Bytes”字段已达到165 MB并且还在增加。缓存开始释放内存的限制是多少?或者我必须自己设置?

2 个答案:

答案 0 :(得分:3)

您需要通过调用[NSCache setCountLimit:][NSCache setTotalCostLimit:]来指定缓存限制。

请参阅[NSCache setObject:forKey:cost:]为每个条目分配费用。

答案 1 :(得分:0)

你应该使用

- (void)setCountLimit:(NSUInteger)lim;

设置NSCache限制