从URL显示大尺寸图像时,iOS应用程序崩溃

时间:2016-07-11 15:01:19

标签: ios objective-c sdwebimage xcode7.3 ios9.3

我已尝试使用以下库进行图像缓存:

  • SDWebImage

  • 的UIImageView + AFNetworking

但滚动时仍然会收到内存警告,崩溃并卡住

我已将UITableViewCell用于显示图片。

某些图片是1.5 MB或更多,所以我不确定这是问题还是其他什么?

请指导。 您的任何努力都将受到赞赏。

修改

我在UITableViewCell中加载UICollectionViewCell UITableView

UITableViewCell的代码。

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

    HomeViewCell *cell = (HomeViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"HomeViewCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    NSArray *arr=[[arrPsots objectAtIndex:indexPath.row ] valueForKey:@"PostImage"];
    [cell setCollectionWithImageArray:arr];

    return cell;
}

UICollectionViewCell的代码。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView1 cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *cellIdentifier = @"ScrollCollectionCell";
    ScrollCollectionCell *cell = [collectionView1 dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];

    NSString *imgKey = (IS_IPAD?@"PostImage":@"PostImage");
    NSString *strImage=[NSString stringWithFormat:@"%@",[arrImages valueForKey:imgKey]];

    [cell.imgScroll setImageWithURL:[NSURL URLWithString:strImage] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

    if ([arrImages count]==1) {

        self.pageControllPostImg.hidden=TRUE;
    }
    self.pageControllPostImg.hidden=TRUE;
    self.pageControllPostImg.numberOfPages=[arrImages count];
    return cell;
}

1 个答案:

答案 0 :(得分:0)

我在一个项目中遇到了这个问题,以前的程序员每次都会创建新的单元格而且没有使用可重用的单元格。