Caching UIImage缓存清除问题

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);

我从数据服务器加载的图像会消耗大量内存,如果图像增加,并且一旦我移动到上一个屏幕,即使我不使用“alloc”,使用的图像内存仍在消耗。一旦离开屏幕,是否可以清除缓存。有什么最好的办法来避免它吗

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的回复。我会尽力回复您