Сжатие изображений для универсального применения - PullRequest
4 голосов
/ 07 февраля 2011

Я работаю над универсальным приложением с большим количеством фоновых изображений (общий размер одного набора фоновых изображений составляет ~ 5 МБ, 3 платформы * 2 ориентации = 6 фоновых изображений на экран), также есть анимации ключевых кадров, и я хочусделать мое приложение не очень страшным.Какие приемы вы использовали, чтобы сделать ваши изображения не слишком тяжелыми?

Мои идеи:

  • Универсальные изображения для iPad / iPhone 4?- Я думал, что если я буду использовать изображения iPad для iPhone 4 - это будет выглядеть неплохо.
  • Квадратные изображения вместо использования фоновых изображений Vert / Horiz.
  • Упаковщик изображений .Я планирую сжать все мои изображения перед добавлением в приложение.Это работает для вас?

1 Ответ

0 голосов
/ 10 февраля 2011

Очевидно, что это всегда компромисс между памятью / скоростью / размером.Имея это в виду, вы упомянули те же методы, которые я лично использую.Вот как я их вижу:

[изображения PNG] (для скорости) против [изображения JPEG] (для памяти / размера)

[КВАДРАТНЫЕ изображения] (для размера) против [ИНДИВИДУАЛЬНЫЕ изображения] (для памяти / скорости)

[УНИВЕРСАЛЬНЫЕ изображения] (для размера) против [ИНДИВИДУАЛЬНЫЕ изображения] (для памяти / скорости)

[ОБРЕЗАТЬ изображения] (для памяти / размера) против [РЕГУЛЯРНЫЕизображения] (для скорости)

[STREAM изображения] (для размера) против [ВКЛЮЧИТЬ изображения] (для памяти / скорости)

Что касается упаковщика изображений, Xcode выполняет собственное сжатие и извлечение данных.Я не очень много слышал о том, насколько это эффективно.Лично я просто открываю все в Preview и снова сохраняю, чтобы проверить, может ли оно быть меньше.

Метод номер один (только если это возможно, очевидно) наиболее точно использует растягиваемые изображения, либо подгоняя их к границам.или используя stretchableImageWithLeftCapWidth: topCapHeight: (но, к сожалению, обычно это не вариант, только для граничных / градиентных фонов)

...