Лучше ли предоставлять новые изображения или уменьшать большие изображения для работы с дисплеем Retina? - PullRequest
3 голосов
/ 18 августа 2010

Удивительный дисплей на iPhone 4 заставил нас создавать рисунки с более высоким разрешением, чтобы использовать преимущества нового экрана.

Мой вопрос: как лучше наносить изображения? В настоящее время есть два способа сделать это:

  • Использование двух изображений : "image.png" и "image@2x.png". Проблема в том, что если вашему приложению требуется много изображений, размер пакета значительно увеличивается. Кроме того, вы должны масштабировать изображения и сохранять их правильно, что может занять довольно много времени.

  • Масштабирование изображений . Вы загружаете только большое изображение, а затем масштабируете его до 50% в коде или с помощью Interface Builder. Это уменьшает размер пакета и время разработки, но может не выглядеть так же хорошо на маленьких экранах.

Какой метод вы считаете лучшим и почему?

Ответы [ 5 ]

5 голосов
/ 18 августа 2010

Учитывайте также и память устройства. Если вы загружаете изображения двойного размера на старых устройствах (3G, 3GS), они могут отображать уменьшенное изображение (если вы соответствующим образом задаете свойства масштабирования для их представлений контейнера), но изображение большего размера все еще занимает в два раза больше памяти, чем необходимо. чтобы один раз загрузить. По мере увеличения количества изображений, с которыми вы работаете, увеличивается объем неиспользованной оперативной памяти.

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

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

3 голосов
/ 18 августа 2010

Размер пакета! = Размер плунжера, как заявляет Wireless Designs. Не беспокойтесь о размере пакета. Если вы действительно заинтересованы в поддержке действительно старых устройств (например, оригинальных iPod Touches), выпустите две версии приложения.

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

3 голосов
/ 18 августа 2010

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

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

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

1 голос
/ 18 августа 2010

Я сделал приложение с около 100 изображений (для каждой версии отображения). Приложение является универсальным (поддерживает iPad, iPhone / iPod touch и дисплей iPhone 4). Размер пакета увеличивается, но это не проблема (в моем приложении основной частью являются изображения и звуки - звук для каждого изображения), а размер составляет менее 100 МБ. Это много, но вы видите, что оно не вырастает так сильно из пропорций. Вы всегда должны ставить совместимость на первое место.

И, как кто-то сказал ранее, размер вашего пакета никак не влияет на память, используемую вашим приложением. Если вы не хотите использовать 2 версии изображений, не пытайтесь масштабировать их в коде. Они не будут хорошо смотреться на iPhone (пикселированный) или iPhone 4 (размыто). Поверьте мне, у меня есть опыт с этим.

1 голос
/ 18 августа 2010

При работе с лимитом 20 МБ обязательно используйте масштабирование изображений в коде.Размер пакета становится важным в этот момент.Будет много потерянных загрузок, если люди не смогут установить ваше приложение в 3G.

Помимо правила 20 МБ, лучше иметь отдельные изображения, но если вы не можете, масштабируйте UIImages программно в меньшие UIImages изатем упакуйте их в UIImageView, но не помещайте 100x100 UIImage в 50x50 UIImageView.Масштабирование UIImage в итоге выглядит лучше.

...