我有一个view
,我在其中拖了一个UITableView
,还有 2 个UIImageView
(第一个显示背景图像,第二个只是在视图顶部显示一个非常小的标题和图像)。它们都设置为weak
属性。tableView 有 495 行,每个单元格中加载一个图像。这是配置单元格的代码:
- (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];
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor brownColor]];
[cell setSelectedBackgroundView:bgColorView];
return cell;
}
我使用segue
s,所以我不需要委托方法。(这也与这个问题无关)。问题是,滚动很流畅;但是,如果我滚动得太快,它就会变慢并可能导致应用程序崩溃。加载到单元格中的 png 图像尺寸不大,每个大约 5KB。似乎出队工作没有有效地完成;因为它变慢,显示内存警告消息,然后发生崩溃。我能做些什么吗?(视图中没有其他内容)
更新:我也试过删除这部分代码:
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor brownColor]];
[cell setSelectedBackgroundView:bgColorView];
没用!