Проблема оптимизации PNG с использованием инструмента pngcrush

У меня есть несколько запросов на инструмент "pngcrush".

В то время как процесс сборки xcode,

  1. Я устанавливаю опцию "Сжать файлы PNG" в "ДА", а затем проверил двоичный файл и размер изображения.
  2. Затем в другом процессе сборки я устанавливаю параметр "Сжать файлы PNG" на "НЕТ", а затем снова проверяю двоичный файл и размер изображения.

Но нет никакой разницы между 1. и 2. в двоичном / размер изображения.

Почему инструмент "pngcrush" не оптимизирует файлы png?

Любая помощь будет отличной.

Заранее спасибо.

С уважением, Девендра

3 ответа

Файлы конвертируются только тогда, когда приложение создано для устройства. Симулятор iOS получает обычные PNG.

Тем не менее, преобразование XCode может сделать изображения больше и медленнее загружать, поэтому я предлагаю отключить Compress PNG Files Опция и оптимизация изображений PNG вручную.

Обратите внимание, что любое изображение, добавленное в Images.xcassets, по-прежнему сжимается независимо от флага "Сжать файлы PNG". Следовательно, если вы пытаетесь сохранить одинаковые размеры файлов для изображений, добавленных в Images.xcassets, нет никакой возможности.

Теперь перейдем к PNGCrush, это инструмент командной строки с открытым исходным кодом, только что связанный с xcode, и xcode использует его для сжатия изображений с помощью него. Однако pngcrush сжимает путем очистки ненужных фрагментов и воссоздания png-изображения для максимального качества, поэтому сжатые изображения могут быть выше, чем оригиналы.

Есть много других утилит для сжатия. однако людям в мире Mac повезло объединить все инструменты в один для лучшего. ImageOptim легко интегрирует лучшие инструменты оптимизации PNGOUT, Zopfli, Pngcrush, AdvPNG, расширенный OptiPNG, JpegOptim, jpegrescan, jpegtran и Gifsicle. Также с Imageoptim вам больше не нужно конвертировать jpg-to-png перед добавлением в приложение. Jpgs также оптимизируются с помощью оптимизатора изображения.

Для достижения наилучшего размера пачки предпочтительно сделать следующее

  • Clean-Build-Archive-Export и обратите внимание на размер файла ipa.

  • Установите "Сжать PNG файлы" на НЕТ

  • Установите Imageoptim (доступно на http://imageoptim.com/)

  • Перейти к терминалу и перейти к исходному каталогу

  • Используйте команду open -a ImageOptim .

  • Он автоматически просматривает источник изображений и сжимает их (не беспокойтесь, оптимизируйте изображения и в.xcassets)

  • Теперь убедитесь, что вы подождали некоторое время и все индикаторы прогресса светятся красным

  • Очистить, построить и архивировать, вы увидите, что полученный файл ipa гораздо меньше, чем оригинал.

  • И последнее, но не менее важное: после этого, когда вы добавляете изображения в проект, просто добавляйте оптимизированные. это так же просто, как перетаскивание перетаскивания изображений в imageOptim для оптимизации.

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

Счастливого Сжатия Всем:)

Инструмент pngcrush запускается процессом сборки Xcode, когда он копирует.png по назначению в комплект приложения. Этот процесс запускается для ваших файлов.png, когда вы устанавливаете опцию "Сжатие файлов PNG" на ДА. (Имейте в виду, что этот инструмент иногда увеличивает размер ваших изображений!) Я бы не ожидал, что размер ваших изображений.png будет одинаковым, если на них будет запущен pngcrush.

Процесс pngcrush также будет манипулировать.png, так что он может быть открыт только в iOS. Так что, если вы не можете просматривать свои изображения в комплекте приложений, это хороший признак того, что pngcrush фактически запускался на них.

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

Другие вопросы по тегам