[instruments]「Leaks」で出た、頭に「_NSZombie_」がついた「Leaks Object」の解消法

   

instruments」で「Leaks」を利用した時に、なぜか大量に頭に「_NSZombie_」がついたLeaks Objectが見つかったので、ここ数日とても困っていました。
しかし、本日ようやくこの「_NSZombie_」を解消することができました。

2013 2 9 ddss

解決方法

これは普通にcocos2dを利用している人にはまず出て来ません。
main.mでこの記述をしていると出てくるみたいです。
extern void _CFEnableZombies(void);//<===こいつです

int main(int argc, char *argv[]) {
    
    _CFEnableZombies(); //  <===こいつです

    
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    /*
     int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
     [pool release];
     return retVal;
     */
    
    
    int retVal = -1;
    @try {
        retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
    }
    @catch (NSException *exception) {
        NSLog(@"%@", [exception callStackSymbols]); 
        @throw exception; 
    }
    @finally {
        [pool release];
    }
    return retVal;
    
}

おそらくこのサイトを見て記述をして、そのままにしておいたのが原因だったみたいです。


「main.m」から「extern void _CFEnableZombies(void);」「 _CFEnableZombies(); 」を削除しましよう。

さいごに

私のメモリーの問題は、これ以外ににもたくさんあり、できるかぎりメモリを抑えようと色々調べています。
アプリが完成する前に、大きな山ですね。

Related Posts Plugin for WordPress, Blogger...