节省空间:首次启动时,批量调整旧iPhone / iPad / iPod的所有@ 2x图像

时间:2011-02-15 10:57:08

标签: ios retina-display high-resolution

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

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

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

2 个答案:

答案 0 :(得分:1)

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

哦,当然,如果你真的有大量数据,大约数百兆,那么应用两个版本的应用程序可能是有意义的(例如,Rage的风格)。

答案 1 :(得分:0)

我现在要回答我的想法。

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

  • 可能会对应用更新造成麻烦。由于应用更新发布缓慢(抱歉Apple,是的,更新发布缓慢)。通过更新,您可能希望擦除缓存文件夹,以确保使用更新更改/删除的旧图像仍然在缓存中停留。需要通过某种版本控制来监控缓存。比如检查当前应用程序版本,以及是否已为此版本执行缓存。如果没有,请刷新缓存,流程类型。