Различия в размерах файлов приложений в Android и iOS

Работая с сервисами дистрибутивов приложений (рынок Android и магазин Apple App Store), я обнаружил тайну.

Размер файла приложения в целом больше для приложения Apple, чем для приложения для Android. Кажется, я не могу найти объяснения различий, и это кажется нетронутым предметом.

Я пробовал выделить разные приложения, и разница, по-видимому, колеблется между несколькими МБ до 6-8 МБ. Итак, вопрос в том, как размер файлов больше для приложений Apple? Для чего нужен дополнительный МБ?

Примеры:

BBC:

Android: 918K – https://market.android.com/details?id=bbc.mobile.news.ww

Apple: 6.7 MB – http://itunes.apple.com/dk/app/bbc-news/id364147881?mt=8

Из-за некоторой защиты от спама я не могу напрямую связать себя с остальными.

British Airways

Android: 1.2 MB

Apple: 7,9 МБ

Северный берег

Android: 2,1 МБ

Apple: 6,4 МБ

Банк Америки

Android: 727K

Apple: 2,1 МБ

Я мог бы продолжить … Если кто-то может предоставить статистику размера файла для двух дистрибутивов приложений, подтверждающих или опровергающих мою теорию. – Я был бы признателен за это.

Solutions Collecting From Web of "Различия в размерах файлов приложений в Android и iOS"

Я только что провел последний день, пытаясь отследить эту проблему. Я создал небольшую игру под названием BlockIT для Android, и теперь у меня есть работающая версия для iOS. Чрезвычайно странно, что версия для Android составляет 8,2 МБ, а версия iOS – 14,1 МБ.

Теперь, поскольку я являюсь владельцем источника, я хотел проследить это и выяснить, почему. Как многие считают, что это графические элементы – это не так. Весь набор данных (без кода) был почти идентичен в каждом пакете. Это имеет смысл, поскольку я использую одну и ту же графику в каждом приложении.

Итак, почему код так сильно отличается! Моя сборка кода iOS была почти 7 МБ, а Android – менее 3 МБ. Сам код был написан для работы одинаково, и все, кроме небольших частей кода, одинаковы на каждой платформе. Я обнаружил, что настройки build (iOS gcc) оказывают огромное влияние на размер выпускаемой вами информации. Если вы установите только для ARM6 или ARM7, тогда размер моего двоичного кода кода упал с 7 МБ до 5 МБ. Это указывает на почти полное дублирование функций и библиотек для каждой цели в одном бинарном! Кроме того, встроенные отладочные символы не кажутся полностью лишенными. Наконец, шифрование кода также требует больших затрат. Это, наверное, самое озадачивающее, так как Android подписывает их apk аналогичным образом. Похоже, что подписка на iOS выполняется очень странно.

Поэтому я надеюсь, что это поможет. Повторить:
– Изображения / Данные, похоже, не являются проблемой
– Создание кода на iOS генерирует несколько выходных данных платформы в одном бинарнике == много дополнительного кода (кстати, я не понимаю, почему Apple делает это – кажется странным).
– Шифрование кода не очень удобно для iOS.

Нет реального способа исправить реальную проблему (опять же, странно и неутешительно).

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

Для универсального приложения в iPhone нам нужно поставить три размера изображений –

Один для 320×480 пикселей
Второй для 640×940 px (сетчатка)
Третий для 768×1024 (iPad)

Где, разрабатывая приложение для Android, мы должны поставить три вида изображений –

Hdpi (высокий)
Mdpi (средний)
Ldpi (низкий)

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

На мой взгляд, Apple Developers используют больше полноэкранных изображений (в low def и Retina) и намного больше изображений, чем Android, а файлы определений UI для iPhone (.XIB) намного больше, чем файлы XML, используемые в Android. Там также должна быть разница сжатия в упаковке (.APK) настолько сильно сжата! И, наконец, может быть, разница в включении фреймворков, но по этому вопросу я понятия не имею 🙂