Ich bin gerade dabei, meine erste iPhone App fertigzustellen und dachte mir, dass ich sie durch das Leaks Performance Tool laufen lassen würde. Nachdem ich einen offensichtlichen Fehler behoben habe, ist der einzige, den ich noch habe, ein Nib, der als eine über loadNibNamed geladene Tabellenkopfansicht agiert (ich habe hier die Recipes-Demo verfolgt).Speicherleck in loadNibNamed?
- (void)viewDidLoad {
[super viewDidLoad];
if (self.tableHeaderView == nil) {
[[NSBundle mainBundle] loadNibNamed:@"TableHeaderView" owner:self options:nil];
self.tableView.tableHeaderView = self.tableHeaderView;
}
}
Dann in dealloc:
- (void)dealloc {
[tableHeaderView release];
[super dealloc];
}
Instruments sagt mir, dass ich 256 Bytes bin undicht mit 2 Gasaustritt aus der Linie mit loadNibNamed kommen. TableHeaderView ist das einzige Top-Level-Objekt im Nib (ich habe das im Debugger verifiziert). Gibt es etwas, das ich vergessen habe zu veröffentlichen? Unterscheide ich falsch, was die Instrumente mir sagen? Ist es falsch? Ist es etwas, das das OS später aufräumen wird?
Sie haben NSZombieEnabled nicht? Das wird falsche Lecks in den Instrumenten zeigen. – nall
Nicht, wenn das etwas wäre, hätte ich mich sehr anstrengen müssen. Ist es standardmäßig deaktiviert? – AndrewO
Guter Anruf. Ich bin verrückt geworden. Ich hatte Zombies an. – RyeMAC3