用于高分辨率图像的iPhone内存警告

时间:2011-09-15 04:37:22

标签: iphone

我有一个全屏显示图像的应用程序。一些图像是1952x3680像素,这些图像提高了内存警告级别= 1和级别= 2.

我应该如何处理这些图像?

4 个答案:

答案 0 :(得分:4)

大幅缩放图像。绝对没有理由在iPhone应用程序中需要以该分辨率的图像。

答案 1 :(得分:3)

不要使用它们。让您的服务器提供图像的缩略图版本(可能使用带有GET参数thumb.php的{​​{1}} / jsp / asp / ...文件),或者在iPhone上缩小图像并丢弃原始数据。前一种方法非常受欢迎,因为它节省了客户端的带宽和大内存分配。

您应该使用的最大图像是480x320(iPhone 3GS及更早版本)和960x640(iPhone 4)。

编辑:我没想到的另一种情况是你是否将这些图片与应用捆绑在一起。拜托,请不要这样做。如果您的图片很大,请在Apple的x=<width>&y=<height>或任何图片编辑器中将其缩小到所标注的尺寸,并且理想情况下有两个副本,Previewimage.png会根据{image@2x.pngscale显示设备屏幕的{1}}。

答案 2 :(得分:3)

屏幕本身仅为320x460(不考虑顶部的时钟条),以及640x960用于视网膜显示。没有理由让这些图像开始变大。缩小它们。它既可以防止内存警告,也可以阻止不必要的图像大小。

答案 3 :(得分:0)

如前所述,如果您只想在不全屏缩放的情况下显示图像,请将其缩小。 如果您需要缩放并详细显示,请谷歌下载CATiledLayer。周围有很好的例子。