我已经实现了一个列表,其中异步加载了许多大图像。我正在使用 NSCache
的实例来存储这些 UIImage
文件。当我向下滚动时,我加载了越来越多的图像。我设置了它并分析了应用程序的分配情况,我注意到缓存似乎没有释放任何内存。 “Live Bytes”字段已增加到 165 MB 并且还在增加。缓存开始释放内存的限制是多少?还是必须自己设置?
最佳答案
您需要通过调用 [NSCache setCountLimit:]
来指定缓存限制和 [NSCache setTotalCostLimit:]
.
参见 [NSCache setObject:forKey:cost:]
为每个条目分配成本。
关于ios - NSCache 什么时候释放缓存对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18899762/