Можем ли мы просто предоставить @ 2x изображения? - PullRequest
16 голосов
/ 19 марта 2012

Мы знаем, что мы должны предоставить изображение нормального размера и изображение @ 2x для приложения iphone / ipad.Но предоставление двойного размера для одного изображения является скучной вещью.

Я провел некоторый тест, если при необходимости есть только изображение @ 2x, система автоматически уменьшит изображение @ 2x до нормального размера.Так что в этой ситуации ни один сетчатый iphone / ipad не будет выглядеть странно.

Мне интересно, можем ли мы просто предоставить @ 2x изображения и позволить системе уменьшить их, чтобы получить меньшие?И это разрешено яблоком?

Спасибо.

Редактировать:

Я понял, что это вызовет проблемы с памятью на старом устройстве.

Еще раз спасибо.

Ответы [ 8 ]

11 голосов
/ 19 марта 2012

Я не думаю, что все Apple отклонит ваше приложение. Но это не очень хорошая идея.

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

Вы можете легко изменить размер @2x изображений до половины размера с помощью простого сценария автоматизатора. Нет необходимости делать это вручную, если вы действительно этого не хотите.

9 голосов
/ 19 марта 2012

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

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

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

5 голосов
/ 19 марта 2012

+ 1 для интересного вопроса.

Но : если вы рассматриваете это, чтобы уменьшить размер вашего приложения, это означает, что в вашем приложении много изображений.В этом случае: не делайте этого , так как вы будете сильно загружать старые устройства (протестировано).

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

Так что на самом деле это плохая идея с любой точки зрения.

И поскольку вы уже рассматриваете возможность создания всех изображений @ 2x: вы можете просто использовать Снимите , чтобы преобразовать все эти изображения в «нормальный» размер, и все готово.

2 голосов
/ 13 мая 2014

Если вы создаете приложение только для iPhone, ориентированное на iOS 7.0 и выше, нет необходимости предоставлять изображения без сетчатки, так как только модели iPhone / iPod могут работать на iOS 7 или выше (iPhone 4 или 5-го поколения iPod Touch ивыше) имеют дисплей Retina.

Существуют две модели iPad без дисплея Retina, которые могут работать на iOS 7.0, iPad 2 и оригинальном iPad Mini.Обратите внимание, что iPad 2 прекратил производство в начале 2014 года. Если вы создаете приложение для iPad или универсальное приложение для iOS 7 и более поздних версий, то это единственные два устройства без сетчатки, которые могут запускать ваше приложение.

2 голосов
/ 06 июня 2012

Если использование приложения является для вас серьезной проблемой, то вы можете выбрать этот маршрут, он будет стоить как увеличения ресурсов ЦП, так и объема памяти (примерно в 4 раза больше) на старых устройствах.Однако, если вы загрузите свой собственный UIImages (подкласс UIImage), чтобы он загружался на более старых устройствах для масштабирования необработанного изображения перед возвратом конечного результата, тогда только CPU получит удар.

1 голос
/ 07 апреля 2012

Да, потому что iphone необходимо загрузить изображение @ 2x перед уменьшением, это будет использовать в 4 раза больше памяти.Так что это не рекомендуемый способ.

0 голосов
/ 11 июля 2013

мы просто предоставляем @ 2x изображения в нашем приложении, и Apple не отклоняла приложение.

0 голосов
/ 19 марта 2012

Это не разрешено яблоком.Мы должны назвать изображение как imagename.png и imagename@2x.png.

Вы можете сослаться на Руководство по рисованию и печати для iOS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...