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

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

оказывается, по какой-то странной причине, что эта ошибка возникает и в случае, если в 'templateUrl' есть опечатка - если angular не может найти html-файл по заданному пути - вы получите то же самое ' ошибка только одного корневого элемента.

так - исправление templateUrl исправило ошибку для меня.

надеюсь, что это поможет кому-нибудь в будущем.

5
задан Michael Myers 4 June 2009 в 20:02
поделиться

6 ответов

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

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

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

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

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

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

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

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

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

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

6
ответ дан 13 December 2019 в 05:41
поделиться

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

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

3
ответ дан 13 December 2019 в 05:41
поделиться

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

2
ответ дан 13 December 2019 в 05:41
поделиться

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

0
ответ дан 13 December 2019 в 05:41
поделиться

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

  • Используйте JPG вместо PNG для изображений которые не имеют прозрачности.
  • Сохраните ваши звуки в формате mp3, отобразите их в WAV при первой загрузке приложения и сохраните их в каталоге документов приложения.
0
ответ дан 13 December 2019 в 05:41
поделиться

Convert a few of your larger images to grayscale if it will work with your app's look. If you can make a few purely grayscale, the savings is pretty substantial.

1
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: