Benutzerdefinierte UITableViewCell mit großem UIImageView, das zu Bildlaufverzögerungen führt

Ich habe eine benutzerdefinierte UITableViewCell, die aus einem UIImageView und einem UILabel besteht. Die Zelle ist 320x104px groß und die Bildansicht nimmt den gesamten Bereich mit der Beschriftung im Vordergrund ein. Es gibt nur 8 Zellen.

In ViewDidLoad erstelle ich alle benötigten Bilder im Voraus und speichere sie in einem Wörterbuch mit den richtigen Abmessungen.

Wenn ich in UITableView einen Bildlauf durchführe, tritt jedes Mal eine spürbare Verzögerung auf, wenn eine neue Zelle angetroffen wird. Dies macht für mich keinen Sinn, da das verwendete Image bereits erstellt und zwischengespeichert wurde. Alles, was ich von der Zelle verlange, ist, dass UIImageView das Bild rendert.

Ich verwende eine benutzerdefinierte Zelle mit ihrer Ansicht in einer xib und konfiguriere meine UITableView für die Verwendung mit:

[self.tableView registerNib: [UINib nibWithNibName: @ "ActsCell" -Paket: nil] forCellReuseIdentifier: myIdentifier];

Zellenerstellung und -konfiguration:

<code>- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    NSString* reuseIdentifier = @"ActsCell";
    ActsCell* cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
    // Configure the cell...
    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

- (void)configureCell:(ActsCell *)cell atIndexPath:(NSIndexPath *)indexPath 
{
    Act* act = [self.acts objectAtIndex:indexPath.row];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.title.text = act.name;
    cell.imageView.image = [self.imageCache objectForKey:act.uid];
}
</code>

Was könnte die Verzögerung verursachen? Es scheint keinen Nutzen zu bringen, wenn man versucht, etwas Asynchrones zu tun, da die zeitintensive Arbeit erledigt ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage