Cocoaのリファレンスカウント式のメモリ管理で利用されるオートリリースプールはメインスレッドに対しては自動的に作られて自動的に解放されるので普段はあまり意識することはないのだけど、performSelectorInBackground:withObject:などを利用して別スレッドで処理を行う時には自前でオートリリースプールを作成しないとメモリリークが発生してしまいます。 以下は自前オートリリースプール作成のサンプルコード。doItメソッドは別スレッドで処理が行われるため、メソッド内部でオートリリースプールを自前で立てています。 - (void)doIt { // オートリリースプールを作成 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *s = [[[NSString alloc] initWi
![オートリリースプールとスレッドとNSOperation - ちくわプログラマにっき](https://cdn-ak-scissors.b.st-hatena.com/image/square/6e5e7c11a71588f25a3f2a156af42819cdc8f719/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Fthata%2F20100808%2F20100808142236.jpg)