高清图像和应用程序大小
Posted
技术标签:
【中文标题】高清图像和应用程序大小【英文标题】:hd images, and app size 【发布时间】:2012-02-18 13:09:57 【问题描述】:我有 2 个问题。
我的应用程序有高质量的图像,并且我启用了视网膜显示(使用 cocos2d),所以每个 png 都有高清:image-hd.png
。
我的第一个问题是,如果希望它也适合 4(3gs)以下的 iphone,我必须在没有 -hd 的情况下再次将所有图像保存在 320x480 中?
我有太多图片,这种方式对我来说似乎很奇怪,因为它会使应用程序大小翻倍!
另一件事。我的应用程序在磁盘上的大小很大,但我发现有一个名为:build 的文件夹 init,它是 136Mb !它有不属于我的模拟器和调试文件。
我要如何处理这么大的文件夹??我的应用只有 30mb !
非常感谢
【问题讨论】:
您是如何衡量应用程序大小的?您是否检查了 Library 文件夹中的包内容?我没有这个问题。 什么是库文件夹??我如何检查最终的应用程序大小? 【参考方案1】:我必须在没有 -hd 的情况下再次以 320x480 保存我的所有图像?
是的。如果您希望您的游戏在非 Retina 设备上运行,那么您必须为每个 xxxx-hd.png 提供相应的 xxxx.png 文件。
这种方式对我来说似乎很奇怪,因为它会使应用程序大小翻倍!
它不会加倍。这在一定程度上取决于文件的类型(PNG、JPG)以及图像的压缩程度。未压缩时,SD 图像的大小是 HD 图像的四分之一。因此,您更有可能看到应用程序大小增加了 25%。如果您的高清资源为 100 MB,那么您的 SD 资源将使应用大小增加大约 25 MB。
我的应用程序在磁盘上的大小很大,但我发现有一个 名为:build 的文件夹 init,即 136Mb !它有模拟器和 调试不属于我的文件。
这些是Xcode 创建的临时构建文件。不要删除它们,因为 Xcode 无论如何都会重新创建文件。
.app 的大小是您应该考虑的唯一文件大小。此外,您应该在调试版本中忽略 .app 的大小,这是您一直在关注的。唯一可以确定(或推测)App Store 上最终应用大小的应用大小是由存档构建创建的应用。
运行 Product -> Archive 并将 ios 设备选为当前配置(否则 Archive 将灰显)。完成后,Xcode Organizer 将打开并突出显示新创建的存档。右键单击它并选择“在Finder中显示”。此文件夹中可能有多个 .xcarchive 文件,选择最新的一个并右键单击它,然后选择“显示包内容”。导航到将显示您的 .app 及其大小的产品/应用程序。 这是您应该考虑的唯一应用大小。
但是,这不是 App Store 上应用的最终大小,因为 .app 包将被压缩(使其更小),同时可执行文件将被加密(使其无法压缩)。我曾经写过一个article about how to determine your app's final App Store size,我认为它今天仍然适用。本质上,您复制 .app 包,从包中删除可执行文件,压缩包,然后添加压缩包的大小和可执行文件的大小,结果是 App Store 上应用大小的一个很好的近似值.
【讨论】:
谢谢。你认为它值得吗?我的意思是,所有 ipodTouch 用户和 iphone 3gs 的下载量更多吗?有没有关于这个问题的数据?谢谢。【参考方案2】:您需要为高清图像命名,前缀为@2x,例如image@2x.png
。为图像保留正常名称以支持较低版本的 iOS - image.png
。在代码或 Interface Builder 中,您必须只使用普通的命名图像(所有其他操作将自动执行)。
【讨论】:
那不是真的。当在 iphone 4 上保留正常名称时,它会发出警告“cand find image-hd”,而在 iphone 3gs 上,图像只是很大(它们是 640x960),另外,cocos2d 人说你必须把 -hd扩展 - 这对我有用。 嗯,这是一个 cocos2d 的把戏。在 cocos2d 中,默认的高清后缀是 "-hd" ,这与普通的 iSomething 约定(@2x)不同。 cocos 团队可能有朝一日会聚在苹果大会上,然后他们可能不会。 @Rant,对不起,我没有 cocos2d 的经验,不能说如何处理。但对于 UIKit 和常规设计来说,这是真的。 cocos2d 中存在与@2x 不兼容的问题,这就是引入-hd 约定的原因。这可能永远不会改变。【参考方案3】:问题的“图像”部分的简短回答是“是”,您应该包含正常大小的文件。两种分辨率的艺术品可能有所不同(我不是图形专家,但我怀疑除了调整图像大小之外还有更多的东西)。实施“-hd”后缀的全部意义在于能够部署一个可无缝用于 Retina 和非 Retina 显示器的捆绑包。我刚刚对我的一个产品进行了从 SD 到 SD+HD 的要求更改...... errr ... 现在艺术家和软件都急于做到这一点:创作艺术品并确定所有很好(即没有丢失资源)。祝您好运,您自己的需求发生变化。
【讨论】:
所以,你说的是???我必须再次添加所有这些?苹果通常的视网膜方法是如何启用它,然后将@2x 和它自动放置在您的所有图像上?我不能用吗?以上是关于高清图像和应用程序大小的主要内容,如果未能解决你的问题,请参考以下文章