0

我们的绘图员只给了我正在构建的应用程序的切片图像,但他只给了我 960x640 iPhone 4 res 的分辨率。

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

问题:提交到应用商店时是否允许这样做,或者是否需要例如:

IMAGE1@2x.PNG (460x640) - iPhone 4

IMAGE1.PNG (230x320) - iPhone 3g

对于所有图像。

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

4

3 回答 3

2

这是允许的,但显然图像在旧设备上占用的 RAM 是其他设备的四倍,像素是四倍。iPhone 4 有 512mb 的 RAM,而 3G 和原来的只有 128mb。尽管假设您正确处理内存警告并且一切仍然正常,但主要的副作用将是每当清除内容并稍后从磁盘重新加载时出现性能问题(我相信您知道,会自动处理以供查看NIB 中的控制器)。根据经验观察,pre-3GS 设备上的闪存比后来的设备慢很多,因此即使您坚持使用大图像,尝试最小化磁盘大小也是有意义的。

于 2010-12-08T00:29:44.790 回答
0

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

恕我直言,您可能会错过一个,否则 Apple 可能会发布不同配置的手机,这将导致您必须重新编写所有检查屏幕分辨率的代码。

于 2010-12-08T00:36:30.850 回答
0

对我有用的最佳做法是制作我的视网膜图像,然后将其缩小 50%。

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

于 2010-12-08T00:23:59.170 回答