計測器の助けを借りて、CGDataProviderCopyDataが多すぎるメモリを使用していることがわかります。問題を解決するには?Objective-C:CGDataProviderCopyDataを使用したメモリリーク
-(UIImage*)imageNamed:(NSString*)name {
UIImage *uiimage = [UIImage imageNamed:name];
CGImageRef originalImage = [uiimage CGImage];
CFDataRef imageData = CGDataProviderCopyData(
CGImageGetDataProvider(originalImage));
CGDataProviderRef imageDataProvider = CGDataProviderCreateWithCFData(imageData);
CFRelease(imageData);
CGImageRef image = CGImageCreate(
CGImageGetWidth(originalImage),
CGImageGetHeight(originalImage),
CGImageGetBitsPerComponent(originalImage),
CGImageGetBitsPerPixel(originalImage),
CGImageGetBytesPerRow(originalImage),
CGImageGetColorSpace(originalImage),
CGImageGetBitmapInfo(originalImage),
imageDataProvider,
CGImageGetDecode(originalImage),
CGImageGetShouldInterpolate(originalImage),
CGImageGetRenderingIntent(originalImage));
CGDataProviderRelease(imageDataProvider);
return [UIImage imageWithCGImage:image];
}
この問題を引き起こすコードを教えてください。 – JeremyP
スクリーンショットのコードを確認してください。あなたはスクリーンショットを見ませんか? –
コードを画像として投稿しないでください。実際のコードをコピーして貼り付けます。 – rmaddy