停止使用仅支持Retina的图片

11

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

  • 我将所有非retina素材替换为retina素材
  • 我删除项目中所有的retina素材(例如所有...@2x.png文件)

我为什么要这样做:

  1. 未来非retina的iPhone数量将越来越少(也因为最低操作系统版本的要求等)
  2. 可以获得更轻的二进制文件
  3. 我不再需要在项目中维护如此多的“准重复”文件。

现在:

  1. iPhone 3GS会对图像进行缩放并正确显示它(当然会有一点处理开销)吗?
  2. 即使没有@2x后缀,启用了retina功能的手机是否仍能正确显示图像。
3个回答

7
在99%的情况下,这种方法通常能够正常工作。然而,在某些情况下,图片可能不会正确缩放(通常取决于内容模式)。 我曾经和一个人一起工作过,他也使用了这种方法,从未发现问题,但我认为这是一种可怕的做法。
这样可以获得更轻的二进制文件,但你在要求较旧的设备(内存较少)进行更多的工作。如果你不想支持这些设备,那就不要支持它们,我认为这比给用户提供一个可能有问题的应用程序更好。
还有更好的方法来减少应用程序中图像的大小,例如尽可能重复使用它们、拉伸、平铺等。

1
只需将所有图像命名为@2x,旧的非Retina设备就可以正常工作。这是我使用我的应用程序的经验。只需针对iOS 5.X及以上版本进行定位,您只需要处理iPhone 3GS、iPad 1和iPod 3即可... - jjxtra

2

3GS和iPhone 4都无法正确显示该图像。

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


1
真的吗?你尝试了哪些iOS版本? - Míng
iPod Touch 4,8GB版本上的iOS 5.0.1。 - YuAo

1

如果您决定这样做,不会发生任何事情。旧设备将尝试运行您的应用程序,但如果您允许设备运行您的应用程序,您将需要处理相当多的缩放问题。如果您允许旧设备安装您的应用程序,则必须准备好在旧设备上获得苹果的批准。如果图像在旧设备上无法正常工作,则将无法获得批准。您也是正确的,现在使用视网膜显示器的设备越来越少了。

但是...仍然有很多非视网膜设备正在使用中。维护两者对于您的用户来说是有好处的。是的,它会给您的二进制文件增加一些额外的负担,但是在今天各种网络的速度下,这已经不是像以前那样的问题了。

虽然选择支持哪些用户是您的权利,并且有许多开发人员分享您的观点,但最终决定要支持哪个用户群体仍然取决于您。如果您愿意以视网膜显示器为界限,那就这样吧。

我可以向你指责并告诉你应该支持每一个用户,但我相信你已经考虑过了。如果你只想支持视网膜设备,那就去做吧。如果你准备回答为什么支持这个设备而另一个不支持的问题,那就去做吧。好消息是,无论你做出什么决定,最终都是正确的。祝你好运。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接