停止使用仅视网膜图像

Bes*_*esi 11 iphone xcode objective-c ios retina-display

如果我执行以下操作会发生什么:

  • 我用视网膜资产替换所有非视网膜资产
  • 我删除了我项目中的所有视网膜资产(所有...@2x.pngs等)

为什么我要这样做:

  1. 将来会有越来越少的非视网膜iPhone(也是由于OS要求最低等)
  2. 我得到了更轻的二进制文件
  3. 我的项目中没有那么多"准复制"文件,我必须单独维护.

现在:

  1. iPhone 3GS缩小图像并正确显示(当然还有一点处理开销)
  2. "视网膜启用"手机是否能够正确显示图像,即使它不再具有@2x文件名中的后缀.

Jam*_*s P 7

在99%的情况下,这将工作正常.但是,有些情况下图像无法正确缩放(通常取决于contentMode).我和一个做过这件事的人一起工作过,从来没有注意到一个问题,虽然我认为这是一个糟糕的做法.

你会得到一个更轻的二进制文件,但你要求较旧的设备(内存较少)做更多的工作.如果您不想支持这些设备,那么我认为这比为用户提供可能损坏的应用程序更好.

有更好的方法来减少应用程序中的图像大小,尽可能重用它们,拉伸,平铺等.