3

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

4

2 回答 2

3

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

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

于 2013-09-19T16:12:50.047 回答
0

你应该使用

- (void)setCountLimit:(NSUInteger)lim;

设置 NSCache 限制

于 2013-09-19T16:12:02.100 回答