2012-03-08 2 views
9

В настоящее время я оптимизирую свое приложение для iOS для нового iPad. К сожалению, добавив изображения запуска для отображения сетчатки iPad, размер моего ipa растет от 1,2 МБ до 5,5 МБ, главным образом из-за двух изображений PNG в 1536 х 2008 (портрет) и 2048 х 1496 (пейзаж). Размер этих изображений составляет почти 1,9 МБ и 1,7 МБ.iOS: как уменьшить размер больших файлов PNG

Портрет можно посмотреть здесь: http://uploads.demaweb.dk/iPadPortrait.png.

Как вы можете заметить, фон является фиксированным рисунком, но, к сожалению, кажется, что это не очень сжимаемо. Я также попытался сжать изображения с помощью ImageOptim, но это не имеет никакого значения после того, как Xcode сжал изображения во время архива. Поиск в Интернете я заметил, что некоторые люди отговаривают, чтобы отключить сжатие PNG в Xcode.

Есть ли что-нибудь, что я могу сделать? Это не решение, чтобы изменить шаблон на изображении на сплошной цвет, так как он должен выглядеть как фон в моем представлении iOS. Но кажется странным, что поддержка нового iPad увеличивает размер на ~ 4 МБ.

ответ

5

Ive боролся с этим тоже, к сожалению, не так много можно сделать.

В попытке резко увеличить рисунок производительность IOS приложений, Xcode повторно сжимает PNG файлов, как он строит. Он преумножает альфа-канал , а байты меняют красный, зеленый и синий каналы на синие, зеленые и красные. Результат оптимизирован для цели IOS, но как побочный эффект, работа ImageOptim ныряет отменить ...

Source

+0

Это точно такой же источник Я нашел - они рекомендуют НЕ отключать сжатие в Xcode.Возможно, теперь пользователи iOS должны ожидать увеличения размера приложения. – dhrm

+0

@ DennisMadsen Я полностью согласен, теперь, когда «новый iPad» теперь отображает сетчатку, представьте, как будут работать большие приложения, когда вам нужно будет поместить HD-графику для iPad. Надеюсь, яблоко это осознает и вносит изменения. – atrljoe

+1

Возможно, поэтому [ограничение на загрузку через интернет было увеличено с 20 до 50 МБ) (http://www.macrumors.com/2012/03/07/apple-boosts-over-the-air-app -store-загрузки-пределы-к-50-мБ /). – dhrm

9

Я был в состоянии получить его до 633KB с pngquant (64 цветов с небольшим сглаживания, который едва заметен на обычном экране и должен быть абсолютно невидим в разрешении Retina) и ImageOptim.

Да, вам нужно будет disable Xcode's conversion, чтобы избежать раздувания файлов Xcode, преобразовывая их в ARGB.

NB: статья цитируется в принятом ответе не предоставляет нет критериев вообще разницы заявленной скорости.
Он также содержит исправление, что он is можно оптимизировать изображения с ImageOptim для приложений iOS
.

+0

Можно ли отключить сжатие PNG в XCode? Будет ли сжатый PNG в XCode быстрее загружаться на устройстве iOS (даже если он превышает размер)? Если это так, это компромисс между производительностью и размером приложения. – dhrm

+0

Это, безусловно, безопасно, поскольку iOS поддерживает стандартные PNG. Я прокомментировал более ранний ответ, что, по моему мнению, преимущество в производительности формата iOS-ARGB раздуто, потому что RGBA <-> ARGB-преобразование тривиально. OTOH загружает и распаковывает больше данных, это не так тривиально, поэтому я бы сказал, что гораздо меньший файл быстрее, независимо от формата. – Kornel

7

Я использую большой инструмент под названием ImageOptim

Она включает в себя ряд инструментов, внутри которых раздавить ваш PNG-файлы значительно (в моем случае это было в пределах от 25% до 50%).

Одна вещь, чтобы помнить, чтобы отключить оптимизацию PNG Xcode (как описано на сайте)

EDIT: Просто перетащите изображения в окно ImageOptim и оптимизация будет запускаться автоматически

+0

ImageOptim для регулярных элементов GUI, затем добавьте ImageAlpha для любых больших текстур/фонов, и вы получите потрясающие сокращения размера – jjxtra

Смежные вопросы