Каковы некоторые хорошие рекомендации по сохранению размера файла приложения iPhone менее 10,0 МБ?

StackOverflow https://stackoverflow.com/questions/919481

  •  06-09-2019
  •  | 
  •  

Вопрос

Я хочу, чтобы размер моего приложения был меньше 10,0 МБ, чтобы его можно было легко загрузить как в сотовой сети, так и в сети Wi-Fi.По вашему опыту встречались ли вы с какими-нибудь хорошими способами сделать ваши приложения тонкими?Если да, пожалуйста, поделитесь.Каковы некоторые хорошие рекомендации по сохранению размера файла приложения iPhone менее 10,0 МБ?

Это было полезно?

Решение

Большинство приложений, с которыми я имел дело, размером более 10 миллионов, созданы из-за ресурсов, часто изображений и аудио.Правильный выбор их размера имеет решающее значение.Обратите внимание, что iPhone автоматически выполняет некоторое сжатие при сборке для устройства, поэтому размер объектов в Simulator может радикально отличаться от размера на устройстве.

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

  • Сборка для устройства в Release
  • Перейдите в build/Release-iphoneos/.app.
  • du -ak | sort -rn | head

Это даст вам список того, где находятся лучшие вещи.Эта информация указана в КБ, но округляется до следующего блока (4 КБ на Mac).Но вы просто ищете что-то большое, а не определяете точный размер всего.

Особенно обратите внимание на то, что не следует копировать в ваши ресурсы.Туда иногда попадаются забавные вещи, особенно документация, которую вы добавили в проект.Тестируя это, я заметил, что мой собственный шаблон проекта копирует файлы xcconfig в пакет (надо это исправить...)

Если у вас много локализованных NIB, вы можете рассмотреть возможность не локализовать NIB, а использовать IBOutlet UILabels.Не локализуйте NIB, если в нем нет локализованного текста.Тот факт, что вы локализуете один NIB, не означает, что вам нужно локализовать их все.

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

Остерегайтесь классов Objective-C со многими методами, которые вы никогда не вызываете.Objective-C является динамическим, поэтому вы не можете удалить мертвый код, как в C.Во время компиляции невозможно узнать, можно ли использовать селектор во время выполнения.Так что, если у вас есть предметы, в которых есть кухонная раковина, «на всякий случай», вы можете снять их.Но обычно мы не говорим здесь о большом пространстве по сравнению с одним аудиофайлом.Я упоминаю об этом только в том редком случае, когда у вас есть действительно огромный объект, который вы связываете только с каким-то методом класса, константой или тому подобным.

Другие советы

Еще один совет: Будьте осторожны с приложением размером 9,9 МБ.!

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

Один совет — использовать форматы сжатого мультимедиа.Например.если вы используете аудиофайлы, вы можете рассмотреть возможность использования mp3 вместо AIFF или WAV, возможно, ценой немного более высоких накладных расходов на обработку.Исполняемый файл размером 10 МБ звучит необычно высоко, поэтому, возможно, такое большое приложение будет содержать много медиаконтента (изображений, аудио).

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

Процесс сборки автоматически сжимает PNG-файлы за вас (используя pngcrush, не делайте этого самостоятельно), поэтому на самом деле вам понадобится довольно много ресурсов, чтобы получить размер более 10 МБ.Я думаю, что беспокоиться об этом — преждевременная оптимизация, и вам, вероятно, не стоит беспокоиться, пока вы не приблизитесь к этому позже.

Эти советы в основном применимы к играм для iPhone:

  • Используйте JPG вместо PNG для изображений, которые не имеют прозрачности.
  • Пусть ваши звуки будут в формате mp3, оказывать их в WAV при первой загрузке приложения и сохраните их в каталоге «Документы» приложения.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top