调整图像大小会给出内存警告

时间:2010-03-04 09:16:00

标签: iphone memory-leaks uiimageview

我正在为iphone开发图像框架应用程序。当我从图像选择控制器中选择图像并在缩放,裁剪,与帧i配对后将保存图像。为了那个原因 我在图像上绘制图像上下文。实际上我的图像是1200 * 1600大小,但我们的纵容采用320 * 480的图像帧。因此在绘制图像后,图像的大小不如iphone照片大小。因此,我正在调整1200 * 1600大小的图像大小。在这里我得到了记忆警告,当我用仪器检查1200 * 1600尺寸的图像时,它需要130mb。我的应用程序在此之后崩溃了。我尝试各种不同的方式。但我无法克服这个问题。所以请帮助我克服这一点。

提前致谢

1 个答案:

答案 0 :(得分:1)

文档说最大图像大小应小于1024x1024。所以我认为你的问题来自你的高大图像。

  

您应该避免创建大小超过1024 x 1024的UIImage对象。除了这样的图像会占用大量内存之外,在OpenGL ES中将图像用作纹理或将图像绘制到视图或图层时,可能会遇到问题。如果您正在执行基于代码的操作,则此大小限制不适用,例如通过将大小超过1024 x 1024像素的图像绘制到位图支持的图形上下文来调整大小。实际上,您可能需要以这种方式调整图像大小(或将其分成几个较小的图像),以便将其绘制到您的一个视图中。

(参见UIImage Class Reference