2013-10-14 64 views
0

我为我的一个应用程序发布了一个新的更新,我很失望地发现它仅仅超过了20MB的估计大小(20MB是无法再通过单元格数据下载的地步)。非视网膜图像有多重要?

我的应用程序包含很多图像,所以如果我没有所有这些非视网膜图像,我可以大大减小尺寸。我知道有一些非视网膜设备将运行我的应用程序。因此,这里是我的问题:

  • ,如果我与@ 2个后缀,但如果没有它没有非视网膜图像的图像,如何将非视网膜设备反应。

  • 如果我使用视网膜大小的图像,而不@ 2个后缀,规模下来到我要通过界面生成器的编程和/或 显示它的大小,将仍然维持 视网膜设备的全面质量?在非视网膜设备 上,质量会比使用GIMP 代替原始尺寸缩小的图像质量更差吗?

+0

你试过对你的PNG文件有损压缩吗? – Kreiri

+0

您是否尝试过使用ImageOptim来挤出PNG中的最后几个字节? (并禁用重新优化Xcode中的PNG) – Cyrille

回答

0

如果没有它,如果我有一个带有@ 2x后缀但没有非视网膜图像的图像,非视网膜设备会如何反应。

我在一些我的应用程序上使用这种方法,它的工作完美无瑕。我无法检测到非视网膜显示设备(具体来说,iPad 1/2和mini)的任何性能或视觉问题。

我不确定在旧版iOS上会发生什么,因为我只在这些应用上支持iOS5 +。

如果我使用视网膜大小的图像,而不@ 2个后缀,规模下来到我要在程序和/或通过接口生成器显示它的大小,将仍然保持在视网膜显示设备的全面质量?非视网膜设备的质量会比使用GIMP从原始尺寸缩小的图像质量更差吗?

这涉及到如何在进行缩放时设置插值选项。 See this other question for more details on how interpolation quality affects scaling down an image.在GIMP或Photoshop中,您还可以控制插值以用于缩放,顺便说一句。

但最终我不认为你需要这样。

最重要的是,那个带宽limit has been raised to 50MB

0

好的。

如果你只提供一个图像,那么你有两种可能性之一。

  1. 该图像是非视网膜图像。这在非视网膜上看起来很好。它在视网膜设备上看起来完全相同。但在视网膜图像旁边看起来质量很差。

  2. 该图像是一个视网膜图像。在视网膜设备上,它仍将作为视网膜图像加载。它看起来很好。但是,在非视网膜设备上,它将不得不缩小图像。这会占用额外的CPU周期,因此可能会影响性能,并且可能看起来并不如人意。它可能会使用与您不同的方法缩小图像,因此可能会使图像看起来很奇怪。

这与带或不带后缀相同。

最好的解决方案是创建视网膜图像,然后使用您选择的编辑器创建标准版本。没有什么会阻止你只提供一个图像,但它可能会导致你不想要的外观和性能。

在侧面说明。通过蜂窝数据下载的大小增加到50MB。

0

尝试使用模拟器的这些东西,并找出自己。

我认为答案是UIImage会忽略@ 2x的选择,如果你依靠[UIImage imageNamed:@"without2xSuffix.png"]而没有找到任何东西,但我没有尝试过。有意请求@ 2x文件将工作,但图像是否被缩放,平铺,拉伸或居中(或其他)是否在使用它的地方。

请注意,文档中说,除非您使用不带@ 2x后缀的名称,并让iOS为您找到2 x版本,否则将设置图像的缩放比例为1.0而不是2.0,这使绘图变得复杂。您必须使用imageWithData:scale:加载图像才能解决此问题。

相关问题