![]() |
|
Autoforget Pool? - Printable Version +- iDevGames Forums (http://www.idevgames.com/forums) +-- Forum: Development Zone (/forum-3.html) +--- Forum: Tools & Technology (/forum-10.html) +--- Thread: Autoforget Pool? (/thread-10315.html) |
Autoforget Pool? - bmantzey - Sep 21, 2012 01:36 PM I'm not sure what's going on here. The autorelease pool doesn't seem to be doing anything in this case. I see it works most of the time, but I've noticed that it does nothing at other times. I'm troubleshooting a memory leak. In instruments, for the object I'm troubleshooting, the count looks like this: 0: Malloc 1 1: Autorelease 2: Retain 2 3: Retain 3 4: Release 2 ... there are several more lines in the object's life, but none of them are a drain. It just so happens that the object is created and autorelease is called on it inside the delegate method of UITableViewDelegate - Code: (UITableViewCell*) tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPathAmong a bunch of other stuff not related to the lifecycle of this cell, this appears to be the significant code: Code: FolderListCellView *cell = (FolderListCellView*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];where FolderListCellView inherits from UITableViewCell The question I have is, why does the autorelease pool never drain this autorelease object? I don't understand why a blank appears by the autorelease call and the object never receives the release. I hope someone can help. Thanks. RE: Autoforget Pool? - SethWillits - Sep 21, 2012 06:02 PM Because it's being retained by the table view in its reuse queue. You did your part correctly. What you showed is not the source of any leak. |