Search code examples
memory-managementios7exc-bad-accesscgimageref

CGImageCreateWithImageInRect leaking memory in ARC


I'm calling

CGImageRef tmp = CGImageCreateWithImageInRect([self.originalImage CGImage], newSize);

a ton of times and the app is eventually crashing but I don't retain a reference to the image. Shouldn't tmp get garbage collected?

The error is an EXC_BAD_ACCESS


Solution

  • Even in ARC, this function doesn't clean up after itself.

    After you call it, use this:

    CGImageRelease(tmp);
    tmp = NULL;