我已尝试使用以下库进行图像缓存:
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;
}
答案 0 :(得分:0)
我在一个项目中遇到了这个问题,以前的程序员每次都会创建新的单元格而且没有使用可重用的单元格。