【问题标题】:Aren't universal binaries a huge waste of memory on the device?通用二进制文件不是对设备内存的巨大浪费吗?
【发布时间】:2010-10-11 11:02:33
【问题描述】:

在为 iPhone / iPad 开发通用二进制文件时,我经常问自己:这真的很好吗?我相信 iPhone 和 iPod touch 设备会简单地下载整个包,包括所有不相关的 iPad 内容。由于我的应用程序需要大量图形,iPhone 和 iPod touch 用户将遭受大约 10 MB 无关图形的困扰。它们只是垃圾,没有在他们的设备上使用。 iPad 用户也是如此,他们会看到类似 6 MB 的垃圾图像数据,这些数据从未使用过。当然,还有设备的所有未使用代码。

我想知道这是否真的很聪明。如果这真的是未来:下载和安装大量垃圾,然后担心购买 8 GB、16 GB、32 GB 甚至 64 GB 的设备只是为了能够安装更多的东西。我已经担心我拥有的许多通用应用程序只是将我的设备装满了未使用的文件。这让我觉得自己很愚蠢。

【问题讨论】:

  • 您能否将该应用程序作为两个略有不同的应用程序进行销售,一个用于 iPhone,另一个用于 iPad?
  • 当然可以。 iPad 应用程序的屏幕更大,iPhone 应用程序的屏幕更小。所以他们是不同的。

标签: iphone ipad universal-binary


【解决方案1】:

任何图形不重的应用都值得为其制作通用二进制文件。例如:如果您只有标准的可可 UI 元素和一些数据。然后你所做的就是设置所有相对于框架大小的框架。

如果它实际上是一个单独的应用程序(即:您有大量不同的图片文件用于 iPad 版本,那么就这样发布它。即使它们只是更高分辨率的图片等,也没关系.)

【讨论】:

  • 事实上,应用程序的功能99% 相同,但iPad 的图形和布局完全不同。把这个烂摊子放在一个地方是一件很痛苦的事情。
  • 说实话 - 这就像用不同的砖块建造同一栋房子。你不会在同一个地方建造它吧?我知道不好的例子,但是我的一个应用程序有这个问题,创建一个单独的 iPad 版本对我和我的最终用户来说更容易管理。
【解决方案2】:

你觉得这很傻吗?每次进行小的代码更改时,请尝试重新下载整个 80MB 应用程序(资源和所有!)。 :)

鉴于您的数据为 8、16、32、64 GB;我假设您在谈论存储容量,而不是RAM 意义上的“内存”。如果是这种情况,您可以考虑压缩资源并将其解压缩到应用程序的沙箱中,以便在以后的启动时轻松访问。

或者,您可以仅将 iPhone / iPod 资源与应用程序捆绑在一起,并单独下载 iPad 特定资源。用户可能不喜欢意外的带宽使用,甚至可能无法超越 Apple。

最后,您可以procedurally generate 您的资源,您的用户会因为节省的空间(如果不是电池寿命)而爱上您。也许结合了两全其美,只生成一次资源?

【讨论】:

    猜你喜欢
    • 2011-02-13
    • 2011-11-28
    • 2011-07-11
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多