我正在开发一个iphone应用程序,我正在为我的应用程序使用背景图片。我知道在iphone 4之前,屏幕的分辨率是480x320,然后是960x640。我读到我应该使用2个图像,如:MyImage.png
和MyImage@2x.png
,具有2种不同的分辨率,应用程序将知道根据手机选择哪一个。我的问题很简单。如果我只使用960x480,那么差异是什么?我正在开发iphone 3gs,我正在使用这个分辨率,一切都很完美。那么为什么这些手机的分辨率很小?
答案 0 :(得分:4)
在我看来,差异如下:手机会将双倍分辨率的大小调整为一半大小,这将导致(1)最终图像不像您要导出的那样平滑它来自像Illustrator或Photoshop这样的图像应用程序 - 至少根据我自己的经验,当我导出两种分辨率时,在非视网膜设备中,如果我导出了正常的分辨率,图像看起来不太好。此外(2)该设备将浪费时间/性能来进行此转换,但我不知道它有多重要。 (3)最后,考虑到双倍尺寸的图像是较大的文件,你可能会毫无需要地重载内存,而你可以使用较小的文件。
如果你不介意这个问题,你可以继续。试试吧。
答案 1 :(得分:2)
如果不出意外,高分辨率图像会对内存产生更大的影响。 320✕480的一个全屏图像在内存中约为600K,而640✕960几乎是2.5M,是其四倍。在较旧的设备上,内存比新设备更加稀缺,并且在开发周期的后期,当有更多资源在运行时,您可能会遇到问题。
即使您能够在所有支持旧的设备上测试应用程序,并且您可以保证没有即时性能问题或视觉故障,该应用程序将占用更多内存,迫使操作系统更频繁地杀死其他应用程序(=整体用户体验更糟糕。)
答案 2 :(得分:1)
如果使用一个版本的图像(960x640),当应用程序在非视网膜上运行时会有内存开销。您不需要在非视网膜上显示高分辨率,仅在视网膜显示中,制作两个版本的图像.png和@ 2x.png将告诉ios它应该加载哪个图像版本,取决于当前使用的设备。 / p>