1

这个问题: iphone 4 - loading images x old devices

是我们最终用双重内容填充我们的应用程序。即用户必须将 2x 大小和 1x 大小的图像都下载到他的设备上,但最终只会使用其中一个,而另一个将浪费下载时间等。

所以我想,在某些情况下,只需用高分辨率图像 (@2x) 填充您的应用程序,并在应用程序启动时(在应用程序委托中,在显示窗口之前......或其他东西),您可以批处理为低分辨率屏幕设备缩小所有@2x 图像。当按比例缩小时,您将这些文件保存到设备的文档和/或缓存文件夹中,并删除原始的 @2x 图像。怎么样,有人已经做了吗?(我的谷歌,他们什么都不做)这有什么缺点吗?苹果会因为我这样做而在某个地方打我吗?ETC...

4

2 回答 2

1

您绝对可以批量缩放这些 @2x 图像并将缩放后的文件保存到文档文件夹中。这将节省下载时间,并使用与将所有内容捆绑到应用程序中相同的空间量,但代价是增加了一些复杂性。但是,我认为删除原始 @2x 图像是不可能的,或者即使这样做也是值得的 - 有可能在设备之间移动应用程序和用户数据。一旦你拥有它们,最好根据分辨率选择正确的数据。而且我认为苹果没有太多理由对你这样做。

哦,当然,如果你真的有很多数据,大约数百兆字节,做两个版本的应用程序可能是有意义的(例如,在 Rage 的脉络中)。

于 2011-02-15T11:14:12.237 回答
0

我现在要回答我的想法。

  • 进行批处理时,您必须将图像保存到缓存/文档文件夹或类似文件夹中。这意味着,低分辨率设备仍然无法找到 IB 中指定的任何图像,可能使用普通的 imageNamed 等也无法找到它们(尚不确定)。可能是对此的修复,或者我可能不得不在 viewDidLoad 中手动添加图像。闻起来很乱。可能会工作,有一个好的解决方案......

  • 应用程序更新可能很麻烦。由于应用程序更新发布速度很慢(对不起,Apple,是的,更新发布速度很慢)。通过更新,您可能希望删除缓存文件夹,以确保通过更新更改/删除的旧图像不会仍然留在缓存中。需要通过某种版本控制来监督缓存。就像检查当前的应用程序版本,以及是否已为此版本完成缓存。如果没有,刷新缓存,种流量。

于 2011-02-16T03:09:30.277 回答