带图像的UITableview滚动速度非常慢

时间:2014-04-22 12:34:34

标签: ios objective-c uitableview ios7

我有UITableView从服务器下载UITableViewCell张图片。

我观察到桌子滚动的速度很慢。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"parallaxCell";
    JBParallaxCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    NSURL *imageURL = [NSURL URLWithString:[[news objectAtIndex:indexPath.row]objectForKey:@"Resim"]];
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
    UIImage *imageLoad = [[UIImage alloc] initWithData:imageData];


    cell.titleLabel.text = [[news objectAtIndex:indexPath.row]objectForKey:@"Adi"];
    cell.subtitleLabel.text = [[news objectAtIndex:indexPath.row]objectForKey:@"Resim"];
    cell.parallaxImage.image = imageLoad;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    return cell;
}

3 个答案:

答案 0 :(得分:1)

您正在主线程上加载图像文件,此操作会减慢滚动速度。使用AFNetworking中的UIImageView+AFNetworking.h通过异步图片加载加速您的应用。链接https://github.com/AFNetworking/AFNetworking

答案 1 :(得分:0)

异步加载图像。它会对你有所帮助:

Loading an image into UIImage asynchronously

Link

答案 2 :(得分:0)

我使用这个完美的库

您只需要#import <SDWebImage/UIImageView+WebCache.h>到项目中,并且只需使用以下代码即可在下载图像时定义占位符:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *MyIdentifier = @"MyIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier:MyIdentifier] autorelease];
    }

    // Here we use the new provided setImageWithURL: method to load the web image
    [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
                   placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

    cell.textLabel.text = @"My Text";
    return cell;
}

它还可以缓存下载的图像并为您提供出色的性能。

希望它会对你有所帮助!