我在我的视图控制器中加载了很多相当大的图像,使用
NSUInteger nimages = 0;
for (; ; nimages++) {
NSString *nameOfImage_ = @"someName";
NSString *imageName = [NSString stringWithFormat:@"%@%d.jpg", nameOfImage_, (nimages + 1)];
image = [UIImage imageNamed:imageName];
if (image == nil) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
//some other stuff....
[imageView release];
}
通常的卸载发生在 - (void)viewDidUnload 和 - (void)dealloc with self.image = nil; 和[图像发布];
似乎经过几次“加载”和“卸载”后,缓存仍然增长到不归路!:)
和应用程序崩溃...
有任何想法吗???我如何清空我的缓存?在哪里?
谢谢
编辑:
好的,这就是我做错了。显然,这段代码修复了整个缓存问题:
image = [[UIImage imageNamed:imageName] autorelease];
自动释放是这里的关键。
感谢您的回复...