保留使用UIGraphicsGetImageFromCurrentImageContext创建的UIImage的所有权

T.L*_*avy 4 iphone screenshot memory-management uiimage

我正在使用此代码在不同时间获取窗口的屏幕截图,并将创建的UIImage放入一个数组中,该数组传递给另一个UIViewController,以便它们可以全部显示在网格中.我尝试释放UIImage并且内存使用情况永远不会下降......我怎么能在这里使用图像,并保留所有权,这样我就可以在显示后释放内存

UIGraphicsBeginImageContext(self.window.bounds.size);
[self.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[imagesArray addObject:image];
[image release];

dwe*_*ery 9

UIGraphicsGetImageFromCurrentImageContext()返回" 包含当前位图图形上下文内容的自动释放图像对象."

将图像添加到imagesArray时,NSMutableArray会保留图像,这就是您需要的全部内容.从阵列中删除图像时将释放内存.

不应该在图像上调用release.