Caching UIImage缓存清除问题
我从数据服务器加载的图像会消耗大量内存,如果图像增加,并且一旦我移动到上一个屏幕,即使我不使用“alloc”,使用的图像内存仍在消耗。一旦离开屏幕,是否可以清除缓存。有什么最好的办法来避免它吗Caching UIImage缓存清除问题,caching,ios4,uiimage,release,Caching,Ios4,Uiimage,Release,我从数据服务器加载的图像会消耗大量内存,如果图像增加,并且一旦我移动到上一个屏幕,即使我不使用“alloc”,使用的图像内存仍在消耗。一旦离开屏幕,是否可以清除缓存。有什么最好的办法来避免它吗 for (unsigned i = 0 ; i<displayedImages.count; i++) { if (![operation isCancelled]) { NSLog(@"loadImage %d",i);
for (unsigned i = 0 ; i<displayedImages.count; i++)
{
if (![operation isCancelled])
{
NSLog(@"loadImage %d",i);
NSString *strURL = [[[imageList objectAtIndex:i] objectForKey:@"URL"] stringByAddingPercentEscapesUsingEncoding:4];
NSURL *url = [NSURL URLWithString:strURL];
NSData *imageData = [NSData dataWithContentsOfURL:url];// [[NSData alloc] initWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:imageData];// [[UIImage alloc] initWithData:imageData];
indexForSetImage = i;
[self performSelectorOnMainThread:@selector(displayImage:) withObject:image waitUntilDone:NO];
}
}
for(unsigned i=0;i您需要使用代码解决出现的问题
在本例中,他们使用的是表格视图,但您不应使用表格视图,而应使用触摸事件或下一个图像的任何按钮,当按下该按钮时,应下载图像,然后显示
是的,如果您尝试使用for循环加载所有图像,这将花费大量时间,并且可能会消耗大量内存,并可能导致应用程序崩溃
希望这能对您有所帮助。延迟加载是必需的,而且管理内存的方法是确保您不保留不需要的资源
因此,一旦图像不在视图中,您就不能仍保留对它的引用。例如,存在UIImageView*temp,并且您不再显示它,您必须执行以下操作:
temp.image = nil;
这可以确保您不会保留对它的引用。另外,如果您需要更多关于此的帮助,请查看。它还内置了一些缓存,这样您就不必为此烦恼了谢谢iphonefun的回复。我会尽力回复您