ios - 对于仅适用于 iPhone 的 iOS 7+ 应用程序,我们可以仅包含 @3x 图像吗?

标签 ios iphone uiimage ios8 resolution

为了减少包的大小,是否可以(并且是一个好主意)仅添加 @3x 图像?

澄清一下,我指的不是应用程序图标、启动图像等。而是应用程序内部的图像,例如 UIButton 背景图像。

我看到了Image resolution for new iPhone 6 and 6+, @3x support added? ,但它没有回答我的问题。

最佳答案

是的,你可以,但你不应该。

如果您只添加 @3x 图像,它将减少您的包大小并与所有屏幕密度兼容。

更新:从 iOS 9 开始,Apple 引入了 App Thinning,这意味着包含更多图像尺寸将不再增加您的包尺寸。 App Store 会自动为每个特定设备生成精简二进制文件,并且仅包含适当的 @3x 或 @2x 图像大小。

如果您需要支持旧设备,我不建议只使用 @3x。仅嵌入 @3x 图像将导致您的图像在每次运行应用程序时按比例缩小。这种方法有以下缺点:

  • 您无法控制 iOS 使用的图像缩放模式。某些图像在自动缩放后可能会出现明显的像素化和/或伪影。
  • 缩放图片可能会降低应用性能。这在旧设备上尤其如此,它们将进行大量扩展。仅使用 @3x 图像将增加这些缩放操作的处理时间,甚至比从 @2x 缩小时更多。
  • 您将没有机会进行 Assets 的像素完美导出。许多设计师花时间手动缩放他们的图像 Assets ,以确保精细的笔触和纹理不被破坏。这会在所有设备类型上带来最佳体验。

如果您关心您的应用在大多数设备上看起来清晰明快,我强烈建议您至少导出图像 @2x 和 @3x 屏幕密度。根据项目的兼容性需求,我有时会选择不导出@1x。

如果您只针对运行 iOS 7+ 的 iPhone,那么您绝对不需要导出 @1x。所有@1x iPhone 设备都不支持 iOS 7+。您唯一需要担心的 @1x 设备是 iPad 2 和 iPad mini(非视网膜)。

另一个注意事项:在研究您的问题时,我听说有传言称 Apple 可能会拒绝您的应用程序,因为您的应用程序没有在每个密度下都有图像。我从来没有经历过这个。我在开发人员指南中唯一能找到的就是这条规则。

2.10 iPhone 应用程序还必须在 iPhone 分辨率和 2X iPhone 3GS 分辨率下不加修改地在 iPad 上运行

对我来说,这似乎意味着只要它有效,你就很好。但是来吧,伙计,让它变得美丽!

关于ios - 对于仅适用于 iPhone 的 iOS 7+ 应用程序,我们可以仅包含 @3x 图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092046/

相关文章:

ios - 在后台使用 iOS 设备的加速计

iphone - UITextView 改变高度而不是滚动

arrays - 创建 UIImage 数组时出现问题

ios - 如何绘制语音样本的语调?

ios - 为什么我的 subview View 不会在界面生成器中使用自动布局来遵循约束

iphone - 令人恼火 - 可执行文件使用无效的权利进行签名

iphone - iphone 与 mac 通讯的最佳方式?

ios - 将文件从目录加载到 UIMAGE 不起作用

ios - 裁剪放置图片实现电池电量效果

ios - UITableview 的单元可重用性正在产生问题?