ресурсы изображений iPhone, ICO vs PNG, размер файла пакета приложения - PullRequest
1 голос
/ 01 мая 2010

Мое приложение содержит коллекцию из 1940 значков, которые используются повсеместно.

В настоящее время они находятся в ICO, и новые предоставленные мне изображения также приходят в формате ICO. Я заметил, что они содержат 16x16 и 32x32 представления каждого значка в одном файле.

Размер каждого файла составляет примерно 4 КБ (как сообщает finder, но ls сообщает, что они варьируются от ~ 1000 байт до 5000 байт)

Очень небольшое количество этих значков содержит только представление 32x32, и в результате их размер составляет всего около 700 байт.

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

Всего образы составляют всего около 25,5 МБ. XCode должен делать какое-то сжатие, потому что результирующий пакет приложения составляет около 12,4 МБ. Сжатие этого далее в ZIP (как это было бы при отправке в App Store), приводит к конечному файлу 5,8 МБ.

Мне известно, что максимальный лимит для загрузок через Интернет в App Store был увеличен до 20 МБ с момента появления iPad (хотя я не уверен, распространяется ли это на приложения для iPhone, а также на приложения для iPad, если нет предел будет 10 МБ).

Меня беспокоит, что будут добавляться новые значки (иногда до 10 значков в неделю), и со временем они будут раздувать пакет приложений.

Как лучше всего распространять эти значки с моим приложением?

Вещи, которые я пробовал и не добился большого успеха:

  • Преобразование иконок из ICO в PNG:
    • Я пробовал это в надежде, что утилита pngcrush поможет с размером файла. Но, похоже, что между обычным PNG и раздавленным PNG нет большой разницы (я полагаю, что оно просто оптимизирует изображение для отображения на GPU iPhone, а не сжимает его размер). Также при переходе от ICO к PNG фактически увеличился размер файла иконки ...
  • Сжатие изображений, а затем распаковка их при первом запуске.
    • Хотя это и уменьшило общие размеры изображений, я обнаружил, что усилия, необходимые для их разархивирования, копирования в папку документов и обеспечения того, чтобы при обновлениях не происходило дублирование, были слишком сложными, чтобы стоить выгоды. Кроме того, на оригинальных и 3G-iPhone распаковка и копирование около 25 МБ изображений занимает слишком много времени и создает неприятные ощущения ...

Вещи, которые я рассмотрел, но еще не попробовал:

  • Вместо того, чтобы распространять значки в комплекте приложений, размещайте их в сети и загружайте каждый значок по требованию (это зависит от данных пользователя относительно того, какие значки будут отображаться на самом деле и когда).
    • Проблема в том, что пропускная способность стоит денег, а загрузка изображений будет интенсивной. Тем не менее, мое приложение в настоящее время имеет небольшую базу пользователей, насчитывающую около 5500 пользователей (из которых, по моим оценкам, около 1500 будет активным, основываясь на статистике Flurry), и у меня огромный резерв неиспользованной пропускной способности с моим текущим пакетом хостинга.

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

1 Ответ

2 голосов
/ 01 мая 2010

Я провел небольшое исследование по MonoTouch для клиента. MonoTouch имеет минимальный размер файла 5,1 Мб, потому что все вещи C #. Похоже, что это не повлияло на готовность пользователей загружать приложения на основе MonoTouch.

В своем исследовании я не увидел никаких доказательств того, что конечные пользователи уделяют большое внимание размеру приложения при принятии решения о покупке. Многие приложения сначала загружаются на немобильные устройства через iTunes, и разница во времени загрузки между 1 МБ и 5 МБ едва заметна. Многие конечные пользователи лишь смутно осознают, что приложения имеют даже размер.

Моя рекомендация - попытаться расставить приоритеты для значков в зависимости от уровня использования. Правило Праето отображается в большинстве данных, поэтому вы, вероятно, обнаружите, что 20% значков получают 80% использования. Включите эти 20% наиболее активных значков в комплект приложений, а затем загрузите остальные.

...