我认为我发生了内存泄漏,启用了僵尸程序,并在探查器中突出显示了此部分代码,并标记了百分比。

对我来说很好。

有任何想法吗 ?

    [NSThread detachNewThreadSelector:@selector(threadStartAnimating:)
              toTarget:self withObject:nil];

    NSMutableArray *tmpArray = [[NSMutableArray alloc]init];

    if (metadata.isDirectory) {
        for (DBMetadata *file in [metadata.contents reverseObjectEnumerator]) {
            [tmpArray addObject:file.filename];  -- 44%
        }
    }

    self.itemArray = tmpArray;
    [tmpArray release];

    [self.dropboxTableView reloadSections:[NSIndexSet indexSetWithIndex:0]
             withRowAnimation:UITableViewRowAnimationFade]; -- 55.6%

    [activityIndicator stopAnimating];


编辑

在界面中:-

NSMutableArray *itemArray;

最佳答案

我认为如果不使用NSAutoreleasePool,线程会在此处产生泄漏?

-(void)threadStartAnimating
{
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
        //your code.
        [pool release];
}


谢谢。

关于iphone - Obj-C,僵尸内存泄漏,我看不到吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8552772/

10-13 04:34