Разрешения iPhone 3g и iphone 4 Лучшие практики - PullRequest
0 голосов
/ 08 декабря 2010

Наш графический парень только что дал мне нарезанные изображения для приложения, которое мы создаем, но он дал мне только разрешение для iPhone 4 размером 960x640.

И посоветовал мне просто уменьшить масштаб изображения до 3g во время выполнения, чтобы разрешение / размер изображения не изменились, но он отображается только наполовину.

Вопрос: разрешено ли это при отправке в магазин приложений, или требуется наличие, например,

IMAGE1@2x.PNG (460x640) - iPhone 4

IMAGE1.PNG (230x320) - iPhone 3g

Для всех изображений.

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

Ответы [ 3 ]

2 голосов
/ 08 декабря 2010

Это разрешено, но очевидно, что изображения будут занимать в четыре раза больше оперативной памяти на старых устройствах, чем они в противном случае, имея в четыре раза больше пикселей. В то время как iPhone 4 имеет 512 МБ оперативной памяти, 3G и оригинал имеют только 128 МБ. Хотя предполагается, что вы имеете дело с предупреждениями памяти правильно, и все по-прежнему будет соответствовать, основным побочным эффектом будут проблемы с производительностью при каждой очистке и последующей перезагрузке с диска (который, как я уверен, вы знаете, обрабатывается автоматически для просмотра контроллеры в NIB). Основываясь на эмпирических наблюдениях, флэш-память на устройствах до 3GS намного медленнее, чем более поздние, поэтому даже если вы придерживаетесь больших изображений, имеет смысл попытаться минимизировать размер на диске.

0 голосов
/ 08 декабря 2010

Я бы точно сделал масштабирование заранее. Если по какой-либо другой причине, кроме iPhone, выбирается, отображать или нет IMAGE1.PNG или IMAGE1@2X.PNG в зависимости от разрешения экрана. В вашем коде вы всегда просто ссылаетесь на IMAGE1.PNG. Вам не нужно вносить какие-либо изменения в коде. Если вы масштабируете их во время выполнения, вам придется переопределить все ваши вызовы на любой тип UIImage.

ИМХО, вы, скорее всего, пропустите один или Apple может выпустить другую конфигурацию телефона, из-за которой вам придется переделывать весь код, проверяющий разрешение экрана.

0 голосов
/ 08 декабря 2010

Лучшая практика, которая сработала для меня, - это сделать изображение на сетчатке, а затем уменьшить его на 50%.

Чтобы дисплей сетчатки мог использовать увеличенное изображение, @ 2x ДОЛЖЕН быть отделен отбольшее изображение.Ваш пример - то, как его следует использовать.

...