Прекратить использование изображений только для сетчатки

Что произойдет, если я сделаю следующее:

  • Я заменяю все активы без сетчатки активами сетчатки.
  • Я удаляю все объекты сетчатки в моем проекте (все [email protected] и т.д.)

Почему я хочу это сделать:

  • В будущем будет меньше и меньше не-сетчатых iPhones (также из-за минимальных требований к ОС и т.д.).
  • Я получаю более легкий двоичный файл
  • У меня не так много "квазидублирующих" файлов в моем проекте, которые я должен поддерживать отдельно.

Сейчас:

  • Будет ли iPhone 3GS масштабировать изображение и отображать его правильно (с небольшим количеством служебных накладных расходов, конечно).
  • Будет ли "Телефон с поддержкой сетчатки" иметь возможность правильно отображать изображение, даже если он больше не имеет суффикса @2x в имени файла.

Ответ 1

В 99% случаев это будет работать нормально. Однако бывают случаи, когда изображения не будут масштабироваться правильно (обычно в зависимости от contentMode). Я работал с кем-то, кто сделал это точно и никогда не замечал проблемы, хотя я думаю, что это ужасная практика.

Вы получите более легкий двоичный файл, но вы просите более старые устройства (с меньшим объемом памяти) делать больше работы. Если вы не хотите поддерживать эти устройства, тогда не делайте этого, я думаю, что это лучше, чем предоставление пользователям потенциально неработающего приложения.

Есть более эффективные способы уменьшения размера изображений в приложении, их повторного использования, где это возможно, растяжения, черепицы и т.д.

Ответ 2

3GS и iPhone 4 будут отображаться неправильно.

Дело в том, что 3GS не уменьшит изображение. Таким образом, изображение не будет отображаться правильно. iPhone 4 будет масштабировать изображение не @2x (масштабировать его дважды), чтобы он не отображал изображение правильно.

Ответ 3

Ничего не произойдет, если вы решите это сделать. Старые устройства будут пытаться, но если вы позволяете устройству даже запускать приложение, у вас будет довольно много работы, чтобы справиться с проблемами масштабирования. Если вы разрешаете устаревшим устройствам устанавливать ваше приложение, вам также придется быть готовым получить одобрение от Apple на более старых устройствах. Если изображения не работают правильно на старых устройствах, вы не получите одобрение. Вы также правы, что в обслуживании все меньше и меньше отображаемых устройств сетчатки.

Но... все еще есть еще несколько устройств, не содержащих сетчатки, которые все еще находятся в эксплуатации. Поддержание обоих хорош для ваших пользователей. Да, это добавляет немного лишнего веса в ваш двоичный файл, но с сегодняшними скоростями в различных сетях это не проблема, как раньше.

В то время как ваше право выбирать, какие пользователи должны поддерживать, и есть много разработчиков, которые разделяют ваши настроения, вам все равно решать, какую группу пользователей вы в конечном итоге хотите поддержать. Если вы хорошо рисуете линию с дисплеями сетчатки, пусть будет так.

Я мог пальцем помахать вам и сказать вам, что вы должны поддерживать каждого пользователя, но я уверен, что вы об этом подумали. Если вы хорошо поддерживаете только устройства сетчатки, пойдите для этого. Если вы готовы ответить на вопросы о том, почему это устройство поддерживается, а другое нет, пойдите для него. Хорошая новость - независимо от того, что вы решите, вы будете правы... в конце концов. Удачи.