2010-12-08 49 views
0

我们的图形家伙只是给了我们正在构建的应用程序的切片图像,但他只给了我960x640 iPhone 4分辨率的分辨率。iPhone 3g和iphone 4分辨率最佳做法

并建议我可以在运行时将图像缩小为3g,因此分辨率/图像大小保持不变,但只显示一半大小。

的问题是:这是允许提交到App Store的时候,或者是要求有例如:

[email protected](460x640) - iPhone 4

IMAGE1.PNG( 230x320) - iPhone 3g

适用于所有图像。

我可能只是做批量转换,并为所有图像有两种分辨率,以节省最大空间。

+1

让他给你半幅图像。在运行时执行它效率不高,图像不总是完美地缩放,并且需要签名。 – 2010-12-08 00:35:53

+0

哦,真的!好点,我刚刚意识到一些图像不会被2整除。我现在已经让他上任了。干杯 – 2010-12-08 00:54:49

回答

2

这是允许的,但显然这些图像在旧设备上的占有量是其它设备的四倍,而且是四倍的像素。虽然iPhone 4拥有512MB的RAM,但3G和原始版本只有128MB。虽然假设你正确处理内存警告,并且所有内容仍然适合,但每当清除任何内容并随后从磁盘重新加载时,主要副作用都将是性能问题(我相信你知道,它会自动处理以查看控制器在NIBs)。根据经验观察,3GS前置设备上的闪存比后来的闪存要慢很多,所以即使你坚持使用大型图像,尝试最大限度减小磁盘大小也是有意义的。

0

最适合我的工作是制作我的视网膜图像,然后将其缩小50%。

为了让视网膜显示器使用较大的图像,@ 2x必须是较大图像的一部分。你的例子是它应该被使用的方式。

0

我会提前批量缩放。如果没有其他原因,iPhone根据屏幕分辨率选择是否显示IMAGE1.PNG或[email protected]。在你的代码中,你总是只参考IMAGE1.PNG。您不必进行任何编码更改。如果你在运行时缩放它们,你将不得不覆盖你对任何UIImage类型的事物的所有调用。

恕我直言,你很可能会错过一个,否则苹果很可能会发布不同的手机配置,这将导致你不得不重新加载所有检查屏幕分辨率的代码。