私はこのような別のループの中に入れたゲームループを持っています:
for (int i = 1; i <= 10000; i++)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Game *game = [[Game alloc] init];
while ([game isActive])
[game nextRound];
[game release];
[pool release];
}
しかし、Activity Monitorで、使用される実際のメモリが無期限に増加し、約1GBのメモリに達するとアプリが最終的にクラッシュすることに気付きました。機器はリークを報告しませんでした。clangstaticanalyzerはリークも報告しませんでした。
私の質問は次のとおりです。
- 機器は常にすべてのメモリリークを検出しますか?
- このメモリの無期限の増加には別の理由がありますか?
編集:
@Phillipsが指摘したように、その理由はゾンビの旗でした!オフにした後、メモリフットプリントは期待どおりです。