Xcode UIcollectionView的图像加载和滚动速度较慢

Xcode UIcollectionView的图像加载和滚动速度较慢,xcode,performance,uiimage,uicollectionview,Xcode,Performance,Uiimage,Uicollectionview,我有一个UICollectionView,里面有一些图像。在第一次向下滚动时加载图像是非常缓慢和不稳定的。之后,当图像加载时,一切正常 我想问题是,直到单元格到达屏幕,图像才被加载,这会导致延迟。我假设我需要做的是在图像出现在屏幕上之前加载它们。我不知道该怎么做,显然我在寻找错误的东西,因为我找不到任何答案。请有人给我指一下正确的方向好吗 这是加载图像的代码…图像在我的应用程序中未下载或其他任何内容 -(UICollectionViewCell *)collectionView:(UIColle

我有一个UICollectionView,里面有一些图像。在第一次向下滚动时加载图像是非常缓慢和不稳定的。之后,当图像加载时,一切正常

我想问题是,直到单元格到达屏幕,图像才被加载,这会导致延迟。我假设我需要做的是在图像出现在屏幕上之前加载它们。我不知道该怎么做,显然我在寻找错误的东西,因为我找不到任何答案。请有人给我指一下正确的方向好吗

这是加载图像的代码…图像在我的应用程序中未下载或其他任何内容

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"Cell";
    CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
    [[cell myImage]setImage:[UIImage imageNamed:[arrayOfImages objectAtIndex:indexPath.item]]];

    return cell;
}

谢谢

即使您没有下载图像,但正如您所发现的,从永久存储器加载图像在滚动过程中仍然太慢。尝试将+imageNamed:call视为下载,这会使代码更复杂,但会修复响应性。其他问题的答案可能会有所帮助。

即使您没有下载图像,但正如您所发现的,在滚动过程中,从永久存储加载仍然太慢。尝试将+imageNamed:call视为下载,这会使代码更复杂,但会修复响应性。其他问题的答案可能会有所帮助。

看看这个

在退出队列后添加这两行

cell.layer.shouldRasterize = YES;
cell.layer.rasterizationScale = [UIScreen mainScreen].scale;
看看这个

在退出队列后添加这两行

cell.layer.shouldRasterize = YES;
cell.layer.rasterizationScale = [UIScreen mainScreen].scale;

只需获取内容并将其异步存储在数组中。并仅从委托方法中指定部分。如果要同时显示所有单元格,请放置一个示例缩略图图像,并在阵列获得真实图像时将其替换为原始图像。否则,您可以在每次数组获取对象时重新加载集合视图,这样集合视图的单元格数会随着图像的获取而逐渐增加。

只需获取内容并将其异步存储在数组中即可。并仅从委托方法中指定部分。如果要同时显示所有单元格,请放置一个示例缩略图图像,并在阵列获得真实图像时将其替换为原始图像。否则,您可以在每次数组获取对象时重新加载集合视图,这样集合视图的单元格数会随着图像的获取而逐渐增加。

我猜您已经解决了这个问题,但在我的情况下,启用的分页会影响滚动性能。我不需要它,所以我一停用它,滚动就快得惊人。你一定解决了这个问题。我面临着同样的问题,但我加载的不是图像,而是谷歌地图。你能分享这个解决方案吗,它可能会有帮助吗?+@JuanGonzálezI我猜你已经解决了这个问题,但在我的例子中,启用的分页破坏了滚动性能。我不需要它,所以我一停用它,滚动就快得惊人。你一定解决了这个问题。我面临着同样的问题,但我加载的不是图像,而是谷歌地图。你能分享这个解决方案吗,它可能会有帮助吗?+@胡安戈萨雷斯