Програми в appstore не є бінарними?


0

Вибачте, якщо назва заплутана, я не знаю, як її краще описати. Можливо, приклад допоможе вам зрозуміти:

Коли я завантажую файл 1 Гб (це приклад) програми, я помічаю, що завантаження відбувається досить швидко, або я не знижую 1 ГБ, програма отримує 1 ГБ лише після встановлення.

Тож мені було цікаво, програма перед установкою:

  • Стиснене джерело і компілюється в інсталяцію

або

  • Попередньо складений і стислий

Був би щось із цього? Або це щось інше?


Було б набагато краще, якби ви дали фактичний приклад, назву програми, а не просто гіпотетичну.
користувач3439894

@ user3439894 Я не знав, що кожен окремий додаток має різний формат стиснення та розповсюдження.
Гільгерме Насіменто

Третій варіант, хоча у всіх додатків цього не буде, - це те, що інсталятор виявляє тип машини та завантажує вторинний вміст під час встановлення. Способом перевірити це було б вимкнення роботи мережі під час встановлення. Знову не всі програми роблять це, але для повноти це може пояснити ДЕЯКІ встановлення. Більшість додатків НЕ БУДЬ джерело, тому що ви хочете затемнити свою роботу, а також ви не можете розраховувати на те, щоб усі користувачі мали XCode.
Багата Гомолка

Відповіді:


1

Apple зберігає свої програми у тому, що по суті є ZIP-файлами, з різним розширенням. Ви можете замінити ".ipa" в додатку для iPhone, наприклад, на ".zip" та витягнути його вміст. Так так, вони використовують компресію.


Дякую :). Вони складаються під час встановлення? Чому розмір завантаження відрізняється від розміру встановленого додатка (як правило, зовсім інший, здається, майже вдвічі)?
Гільгерме Насіменто

Хм ... Ти маєш рацію. Я досі цього не помічав. Це досить дивно. Цей розмір насправді не корисний, якщо він показує нам половину того, що в кінцевому підсумку буде додаток ... Програми не компілюються з джерела, однак вони зберігаються у вигляді стислих пакетів програм і розповсюджуються у цій формі.
Вільям Т Фроггард

Я зробив завантаження з itunes, а не з iphone, завантаження було швидким, здається, що не розмір, що зміни повинні бути чимось іншим, що робить завантаження настільки швидким, ще раз дякую.
Guilherme Nascimento

1
@GuilhermeNascimento "компіляція під час встановлення" не пояснює додатки для iOS або MacOSX, але я думаю, що нові установки ОС Android роблять це. Візьміть код байта машинного агностіка, запустіть його через компілятор java (err, darvik) на пристрої для вбудованих інструкцій. Це змінить розміри завантаження та встановлення. Знову ж таки, ні iOS, ні MacOSX цього не роблять.
Багата Гомолка

1
@GuilhermeNascimento пристрої для iOS можуть мати або 32-розрядний процесор, або 64-бітний ARM на базі процесора, розробленого Apple. Хоча 32-бітний код може працювати на 64-бітовому, 64-бітний код не працюватиме на 32-бітових машинах. Я думаю, ви можете мати iOS «універсальний бінарний» iOS з кодовими розділами для 32 та 64 бітних процесорів - це те, що Apple робила, переходячи з Motorola 68K до PowerPC. Apple також щойно оголосила в iOS9 обрізати невикористані дані та код із двійкових файлів, щоб ви заощадили місце на пристрої.
Багата Гомолка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.