2

我担心我的 ios 应用程序的大小。我的问题是:当非视网膜设备从 AppStore下载应用程序时,它是否也会下载视网膜图像(即@2x 图像),尽管它永远不会被使用?换句话说,AppStore 是否会根据目标设备公开不同的应用程序包?

谢谢 !

4

2 回答 2

7

是的,从 App Store 下载的所有二进制文件都完全相同(注入的 iTunes 收据除外)。

我猜你的@2x-files 很大,你正在寻找一种方法来压缩你的二进制文件,所以这里有一些解决方案:

  • 如果您想在运行时下载资源@2x或非@2x资源,您可以将它们存储在文档文件夹中,靠近您的二进制文件,但这需要用户额外下载。
  • 您可以使用 CoreGraphics 在运行时绘制一些图稿。CoreGraphics 相当广泛,如果您有足够的经验,您可以(几乎)完成与 Photoshop 完全相同的操作。(我已经能够将几个 UI 元素移植到代码中,包括那些具有内阴影、内发光、投影、渐变等的元素)。
  • 您可以将资源转换为 WebP(压缩得很好,不会降低质量)或使用 PNG 压缩器(因为 Xcode 使用的 PNG 压缩器不能很好地压缩)。
  • 试着把你的资源变成模式。例如,如果您使用的背景每 100x100 重复一次,那么不将其保存为 640x960 文件而是作为模式,并再次使用 CoreGraphics 在运行时渲染它是有意义的。不要将导航栏保存为 640x88 (320x44),而是保存为 640x2 (320x1),或者如果您想使用圆角或其他东西,请使用[UIImage stretchableImageWithLeftCapWidth:topCapHeight:].

我个人建议结合使用第二个和第四个选项,因为它不会影响用户体验,也不涉及使用非标准图像格式。

于 2013-05-05T10:57:42.847 回答
0

它将下载所有内容:普通图像和@2x 图像

于 2013-05-05T10:44:43.010 回答