Iphone 将图像加载到UIImageView时,UIScrollView挂起

Iphone 将图像加载到UIImageView时,UIScrollView挂起,iphone,uiscrollview,uiimageview,performance,Iphone,Uiscrollview,Uiimageview,Performance,我有一个启用分页的UIScrollView。所有图像都是在开始时加载并添加到UIImageViews中的,但由于图像较多,因此我遇到了内存问题,因此我决定在滚动图像时加载下一个图像(如果图像尚未设置)。如果我收到内存警告,我会删除除当前图像之外的所有图像 问题是,如果我滚动,scrollview会挂起几毫秒 我正在使用 UIImage *image = [UIImage imageNamed:@"path/to/image.png"]; 加载图像。如果我使用imageWithContentsO

我有一个启用分页的UIScrollView。所有图像都是在开始时加载并添加到UIImageViews中的,但由于图像较多,因此我遇到了内存问题,因此我决定在滚动图像时加载下一个图像(如果图像尚未设置)。如果我收到内存警告,我会删除除当前图像之外的所有图像

问题是,如果我滚动,scrollview会挂起几毫秒

我正在使用

UIImage *image = [UIImage imageNamed:@"path/to/image.png"];
加载图像。如果我使用imageWithContentsOfFile方法,它会花费更多的时间

有没有一种方法可以像在默认Photoapp中那样显示像素化图像,直到完全加载

提前谢谢你的回答

[UIImage imageNamed:]

为您缓存图像,这就是为什么它比文件中包含内容的图像更好的原因。因为这些图像显示在表格单元格中,所以它们可能不需要那么大。文件系统上的图像尺寸是多少?如果您只是将UIImage放在UIImageView中并依赖它进行缩放,我猜缩放是在您滚动时发生的。能否为文件系统上的每个图像创建缩略图并使用这些缩略图?

这些图像显示在UIScrollView中。图像的分辨率为960x480(iPhone4Res),并且缩小了尺寸。我认为使用一张图片更容易,除了在iPhone4中添加第二张带有@2x的图片。我想,创建缩略图会花费我很多时间。没有其他方法吗?如果您依赖UIImageView来缩放图像,那么您实际上是在内存中创建缩略图。您不希望在滚动时发生这种情况。我会尝试找其他时间来做这件事,比如启动应用程序。关于像素图像加载,我不知道有什么神奇的方法可以做到这一点。创建图像的低分辨率版本并首先加载,然后以高分辨率淡入。低分辨率版本可以简单地放大缩略图。