UIImage devuelto de UIGraphicsGetImageFromCurrentImageContext fugas

La captura de pantalla de Perfiles de Fugas en la Herramienta de Instrumentos: http://i.stack.imgur.com/rthhI.png

Encontré mis objects de UIImage filtrándose usando la herramienta Instrumentos. Según la documentation de Apple, el object devuelto por UIGraphicsGetImageFromCurrentImageContext debería autorearse , también puedo ver el evento "Autorelease" al crear perfiles (ver las 2 primeras líneas de la historia de mi captura de pantalla adjunta). Sin embargo, parece que el evento "autorelease" no tiene efecto. ¿Por qué?

EDITAR:

Código adjunto, uso el código siguiente para "mezclar" dos UIImages, también, más adelante, uso un UIMutableDictionary para almacenar en caching esos UIImage I "mezclados". Y estoy bastante seguro de que he llamado a [UIMutableDictionary removeAllObjects] para borrar el caching, por lo que esos UIImages "deberían limpiarse"

+ (UIImage*) mixUIImage:(UIImage*)i1 :(UIImage*)i2 :(CGPoint)i1Offset :(CGPoint)i2Offset{ CGFloat width , height; if (i1) { width = i1.size.width; height = i1.size.height; }else if(i2){ width = i2.size.width; height = i2.size.height; }else{ width = 1; height = 1; } // create a new bitmap image context // UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), NO, i1.scale); // get context // CGContextRef context = UIGraphicsGetCurrentContext(); // push context to make it current // (need to do this manually because we are not drawing in a UIView) // UIGraphicsPushContext(context); // drawing code comes here- look at CGContext reference // for available operations // // this example draws the inputImage into the context // [i2 drawInRect:CGRectMake(i2Offset.x, i2Offset.y, width, height)]; [i1 drawInRect:CGRectMake(i1Offset.x, i1Offset.y, width, height)]; // pop context // UIGraphicsPopContext(); // get a UIImage from the image context- enjoy!!! // UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext(); // clean up drawing environment // UIGraphicsEndImageContext(); return outputImage; 

}

Obtuve una extraña pérdida de memory de UIImage usando una image UIImage retenida de UIGraphicsGetImageFromCurrentImageContext (). Lo llamaba en un hilo de background (en respuesta a un evento de timer). El problema resultó ser, como se menciona en profundidad en la documentation de Apple, "solo debe llamar a esta function desde el hilo principal de su aplicación". Tener cuidado.