在iPhone中使用图像(普通和@ 2x)

时间:2012-11-12 15:15:14

标签: iphone ios image uiimage

所以我正在构建一个使用按钮图像的应用程序。我提供了普通图像和@ 2x图像,但我并不完全确定应该使用哪一个。如果我使用normal.png或normal@2x.png,基本上没有差别。但是我已经读到使用@ 2x需要更多内存,所以我觉得我不应该这样做。但是,当我在iPad模拟器中启动我的应用程序时,使用正常大小的图像看起来很糟糕,因为它需要调整它们的大小。当我使用@ 2x图像时,它看起来很正常。那么关于我应该如何处理的任何建议呢?

2 个答案:

答案 0 :(得分:9)

您应该在应用程序中包含.png@2x.png的图像,以支持视网膜设备。这为您的用户提供了良好的用户体验。

在整个代码中,您没有明确指定@2x后缀,因为操作系统会为您处理。例如,如果您在项目中包含image.pngimage@2x.png,并通过以下方式访问它:

UIImage* image = [UIImage imageNamed:@"image"];

操作系统将为您选择正确的图像(.png用于非视网膜设备,@2x.png用于视网膜设备)。只要遵循一般的内存管理指南,您就不必担心每个内存使用的差异。

答案 1 :(得分:3)

你应该:

  • 在您的应用中包含常规和@ 2X图像。
  • 一旦你完成应用程序检查它的内存占用(应用程序内存不足或频繁出现内存警告?一旦压缩,应用程序非常大,需要很长时间才能根据自己的喜好下载?)
  • 如果内存有问题,请开始删除@ 2X资产。您应该根据资产的大小以及调整大小时的外观来消除资产。例如,调整大小时全屏纯色背景看起来不会有太大差异,可能会节省一些内存。一个带有大量复杂线条工作的小按钮在调整大小时看起来会明显变差,但不占用大量内存。