+(void)setup {
UIImage* spriteSheet = [UIImage imageNamed:@"mySpriteSheet.png"];
CGRect rect;
animation = [NSMutableArray arrayWithCapacity:numberOfFramesInSpriteSheet];
int frameCount = 0;
for (int row = 0; row < numberFrameRowsInSpriteSheet; row++) {
for (int col = 0; col < numberFrameColsInSpriteSheet; col++) {
frameCount++;
if (frameCount <= numberOfFramesInSpriteSheet) {
rect = CGRectMake(col*frameHeight, row*frameWidth, frameHeight, frameWidth);
[animation addObject:[UIImage imageWithCGImage:CGImageCreateWithImageInRect(spriteSheet.CGImage, rect)] ];
}
}
}
}
上記のコードを ARC を有効にしてコンパイルしました。imageWithCGImage:: がカウント +1 の UIImage を返し、参照が失われるため、分析ツールはメモリ リークの可能性を報告します。Leaks Instrument はメモリ リークをまったく報告しません。何が起きてる?
さらに、ARCはrelease
ectを使用して手動で使用することを禁止しているため、リークをどのように修正しますか?
アドバイスを提供できる人に感謝します。