问题 停止使用仅视网膜图像


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

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

我为什么要这样做:

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

现在:

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

8464
2018-01-16 14:05


起源



答案:


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

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

有更好的方法可以减少应用中图像的大小,尽可能重复使用,拉伸,平铺等。


7
2018-01-16 16:07



只需将所有图像命名为@ 2x,旧的非视网膜设备就能正常工作。无论如何,这是我对我的应用程序的体验。只需针对iOS 5.X及以上版本,您只需处理iPhone 3GS,iPad 1和iPod 3 ...... - jjxtra


答案:


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

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

有更好的方法可以减少应用中图像的大小,尽可能重复使用,拉伸,平铺等。


7
2018-01-16 16:07



只需将所有图像命名为@ 2x,旧的非视网膜设备就能正常工作。无论如何,这是我对我的应用程序的体验。只需针对iOS 5.X及以上版本,您只需处理iPhone 3GS,iPad 1和iPod 3 ...... - jjxtra


3GS和iPhone 4都会不正确地显示图像。

事实是3GS不会缩小图像。因此它不会正确显示图像。 iPhone 4将缩放非@ 2x图像(缩放两次),因此它也不会正确显示图像。


2
2018-01-16 14:10



刚建立并试一试! - YuAo
真?您尝试使用哪些iOS版本? - iwill
iPod Touch 4,8GB版本的iOS 5.0.1。 - YuAo


如果你决定这样做,什么都不会发生。较旧的设备会尝试,但如果您允许设备甚至运行您的应用程序,您将有相当多的工作只是为了处理扩展问题。如果您允许旧设备安装您的应用,您必须准备好在旧设备上获得Apple的批准。如果图像在旧设备上无法正常工作,则无法获得批准。您正确使用的视网膜显示设备越来越少也是对的。

但是......仍有相当多的非视网膜设备仍在使用中。维护这两者对您的用户有利。是的,它为你的二进制文件增加了一些额外的重量,但是今天的速度在各种网络上,这不像以前那样。

虽然您有权选择支持哪些用户,并且有许多开发人员与您分享您的观点,但仍需由您决定最终希望支持哪些用户群。如果你很好地用视网膜显示器画线,那就这样吧。

我可以用手指向你说,你应该支持每个用户,但我相信你已经想到了这一点。如果你只支持视网膜设备,那就去吧。如果您准备回答有关为什么支持这一设备而另一个设备不受支持的问题,那就去吧。好消息是,无论你决定什么,你都会是对的......最终。祝你好运。


1
2018-01-16 14:12



所以你是说图像无法在3GS上正常显示? - Besi
我自己没有测试过这个理论,但旧设备可能无法很好地显示更高分辨率的图像以获得批准。您唯一安全的选择是排除对旧设备的支持。 - Bill Burgess