iPhone 视网膜图形

3

我有一个关于Retina显示屏图形(以及如果双倍分辨率显示的传言是真实的话,可能还涉及到iPad 2图形)的问题。

是否拥有两个图形: Graphic.png 480x320 和 Graphic@2.png 960x640

让iPhone在Retina显示屏上使用@2版本,而不是只有更高分辨率的Graphic.png,并让具有普通显示屏的iPhone将其压缩,是否有任何优势?


“完全重复”通常意味着问题完全相同(即重新发布)。现在我们倾向于让类似的问题保留。但是,一旦您的声望超过3k,可以随意投票关闭为重复。详情请参见:http://blog.stackoverflow.com/2010/11/dr-strangedupe-or-how-i-learned-to-stop-worrying-and-love-duplication/ - user1228
现在有三代iPad,这个方法可能有点老了。但是有趣的是,如果你不使用1x图形,在至少iOS 4.0的前两代iPad上以2x运行你的应用程序,它看起来会比包括1x图形更好。因为如果也包括1x图形,旧的iPad会认为“嘿,这些是给我的”,并使用它们,在2x分辨率下显然会很糟糕。 - Jonny
1个回答

3
是的。如果您没有使用两个不同的图形文件(普通和“@2x”),那么任何没有Retina显示屏的设备都需要使用四倍的内存来存储其图形文件。这只是为了存储一些被压缩的图像文件(PNG),以便您不必消耗遗留设备的内存。
此外,性能会下降,因为在通常运行较慢的设备上处理如此大的图像文件非常困难。
最后,缩放大型图像的结果通常非常丑陋,因为UIKit在进行缩放时使用最近邻算法。

但是如果我将其作为两个单独的图形处理,那么我会有一个1k的小图像,一个4k的大图像,因此包中的总大小为5k,而不是如果我们选择一个的话是4k,或者我错过了什么? - faroligo
没错,这就是你需要做的技术权衡。不过,我认为苹果建议优先考虑正确的人机界面设计,而不是最小化软件包大小。 - Skyler
3
iPhone 3G拥有128MB的内存和16-32GB的磁盘空间。利用更多的磁盘空间来使用较少的内存,对我来说似乎非常明显地获益。 - Catfish_Man
@faroligo:这不是关于程序包的大小,而是关于它在内存中所占用的空间大小。 - Julien
好的,是的,这一切都非常说得通。因此,在技术上,如果您使用的是完全相同的图像,并且没有缩放问题,则将原始图像的分辨率加倍而不是使用@2是相同的,除了加载到内存时该图像将占用的内存之外。因此,建议稍微增加软件包大小。感谢所有人的澄清。 - faroligo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接