我将图片加载到UITableViewCell中。图像尺寸不大 - 每个图像可能只有6 KB。
但是有500行。当我滚动时,它首先开始缓慢并给我内存警告消息,但是经过几次滚动后,应用程序崩溃了。我也使用了乐器,它表明滚动时内存使用量越来越高!可能是因为dequeueReusableCellWithIdentifier:CellIdentifier
工作不正常,或者我应该以某种方式“弄清楚”图像?!
顺便说一下,我已经关闭了设备上的所有其他应用程序,我的iPod Touch上有超过1.5 GB的免费应用程序。
以下是配置单元格的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
int cellNumber = indexPath.row + 1;
NSString *cellImage1 = [NSString stringWithFormat:@"c%i.png", cellNumber];
UIImage *theImage = [UIImage imageNamed:cellImage1];
[cell.imageView setImage:theImage];
return cell;
}
答案 0 :(得分:0)
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
UITableViewCell *cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
这里发生了什么?你要重新分配两次相同的内存。