J'ai une UITableView avec une méthode cellForRowAtIndexPath
qui crée un UITextView, puis l'ajoute à une cellule. Aucune fuite de mémoire n'a été détectée, mais lors de l'exécution d'Instruments (Allocations d'objets), la mémoire nette est sur un trajet aller à 18 Mo, où elle se bloque.Augmentation de la mémoire de cellFromRowAtIndexPath dans UITableView
Mon application ajoute et supprime en permanence des cellules dans la source de données tableView, mais comme le TextView est publié, je ne vois aucun moyen d'accumuler de la mémoire.
Voici mon cellForRowAtIndexPath
code:
static NSString *[email protected]"Cell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell==nil) {
// Build cell
cell=[[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:cellIdentifier] autorelease];
}
cell.selectionStyle=UITableViewCellSelectionStyleNone;
UITextView *tv=[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 320, 95)];
tv.font=[UIFont fontWithName:@"Helvetica-Bold" size:16];
[email protected]"My Cell Text";
[cell addSubview:tv];
[tv release];
return cell;
Merci à l'avance!
Vous pouvez utiliser le modèle Leaks d'Instruments pour déboguer ce genre de chose. L'instrument Leaks montrera des objets qui existent encore mais rien de connu; l'instrument ObjectAlloc montrera tous les objets, ainsi vous pouvez explorer par classe et par instance pour voir ce qui pourrait les retenir. –