我使用此代码来获取窗口在不同时间的屏幕截图,并将创建的 UIImage 放入一个数组中,该数组传递给另一个 UIViewController,以便它们可以全部显示在网格中。我尝试释放 UIImage,但内存使用量永远不会下降...我如何在这里使用该图像一次,并保留所有权,以便在显示后释放内存
UIGraphicsBeginImageContext(self.window.bounds.size);<br/>
[self.window.layer renderInContext:UIGraphicsGetCurrentContext()];<br/>
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();<br/>
UIGraphicsEndImageContext();<br/>
[imagesArray addObject:image];<br/>
[image release];<br/>
最佳答案
UIGraphicsGetImageFromCurrentImageContext()
返回“包含当前位图图形上下文内容的自动释放图像对象。”
当您将图像添加到 imagesArray 时,NSMutableArray
对其进行保留,并且
这就是你所需要的。当图像从数组中删除时,内存将被释放。
您不应该对图像调用释放。
关于iphone - 保留使用 UIGraphicsGetImageFromCurrentImageContext 创建的 UIImage 的所有权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464146/