Я погуглил проблему с памятью, связанную с UIImage, и натолкнулся на множество потоков, рассказывающих о проблеме, но без реальной помощи или решения.
Я знаю, когда мы используем -imageNamed:
объект кэшируется, поэтому лучше использовать initWithData:
. Когда мы используем drawRect:
и UIGraphicsGetImageFromCurrentImageContext()
, изображение отправляется в кэш?
Также в следующем коде:
CGImageRef tmp = CGImageCreateWithImageInRect(imageToCrop.CGImage, clippedRect); //pull the image from our cropped context UIImage *cropped = [UIImage imageWithCGImage:tmp];//UIGraphicsGetImageFromCurrentImageContext();
CGImageRelease(tmp);
Кэширование происходит, хотя в документации нет упоминаний об этом? Как освободить память, которая используется кешем?