Развлекательный порталРазвлекательный портал


Общее
Игры
Apple
Android
Развлечения
Прохождение
Карта сайта

Астрологический прогноз на май 2024 года
Stellar Blade оскорбила игроков, игра от авторов Don’t Starve, новые правила рефанда в Steam…
Конец ретроградного Меркурия: знаки зодиака, которые окажутся неуязвимыми перед проблемами с 25 апреля

WWDC 2015: Apple уменьшила приложения
🕑 14.06.2019 Общее 👀 45 просмотров

Если бы пользователи iOS-устройств обращали внимание на “всякую ерунду”, они были бы шокированы: начиная с осени 2015 года приложения для iOS стали вдруг худеть. Как если бы в Apple появилось подразделение магов, не иначе.

Но пользователи, как правило, до цифровой прозы не опускаются. Особенно владельцы устройств с 128 или 256 Гигабайтами флэш-памяти. Apple именно этого и добивалась, в течение многих лет. Компанию (еще во времена первых Mac’ов) критиковали за глупое потакание пользователям, утверждая что пользование Mac’ами отупляет.

Но по-настоящему серьезные проблемы у Apple начались в 1995 году, когда Microsoft создала что-то очень похожее на систему Mac’ов и назвала это Windows 95. Mac’и все еще были лучшими, но неизбалованным отупляющим Mac’овским интерфейсом пользователям PC было все-равно.

Кстати, вам не кажется что пользователи и в самом деле отупели за последние годы? Уж не Mac’и ли виноваты в этом? Сегодня не это наша тема, увы. Как-нибудь?

Операционная система (любая) – это, по сути, огромное приложение, состоящее из кода и ресурсов, в особо крупных размерах. Это миллионы строк нетривиального исходного кода, и много всякой всячины разного назначения. Мода на похудение коснулась и iOS.

iOS 8 “весила” 4,6 Гигабайта. Это была совершенная ОС, отвечающая требованиям своего времени, в чем-то даже лучшая в мире, гигантский размер объясним и понятен.

iOS 9 не уступала предшественнице по части функциональных возможностей, наоборот – она умела работать с еще большим разнообразием устройств, при этом для её установки требовалось всего от 1,3 до 1,8 Гигабайта флэш-памяти.

Магия?

Продолжение мини-серии про WWDC 2015, предыдущие части здесь:

Первая часть: WWDC 2015: Никаких сенсаций;
Вторая часть: WWDC 2015: Назад, к Mac, iPhone и iPad.

Откуда “лишний вес”?

iOS-приложение – это исполняемый код и ресурсы. В частности, графические файлы. Их, как правило, очень много. Графика добавляет приложению яркости и выразительности, а чтобы чего-то достичь эти качества абсолютно необходимы.

Разработчики графических форматов (таких как JPEG, PNG или TIFF) вложили немало сил в разработку алгоритмов сжатия изображений, но когда их сотни (а то и десятки тысяч), места в флэш-памяти устройства они занимают много. Чем “тяжелее” приложение, тем больше времени (и трафика) требуется на его загрузку.

С появлением Retina-дисплеев графические файлы в iOS-приложениях стали занимать в разы большие пространства памяти. Совместимость с Retina-дисплеями – это добавление в ресурсы приложения графических файлов с 2-кратной высотой и шириной. Естественно они намного тяжелее 1-кратных. В зависимости от разрешения устройства на котором запускалась программа, использовались либо 1-кратные, либо 2-кратные варианты.

Размер исполняемого кода тоже рос как на дрожжах: чтобы приложение работало на всех устройствах способных работать в заявленных при отправке в App Store версиях iOS, кода требовалось в несколько раз больше, чем прежде.

Код и графика были не единственными “пожирателями памяти”, были и другие: аудио, видео, все что угодно. Код для Open GL ES, код для Metal и тому подобное.

Надо было что-то делать, и к этому что-то уже готовились. В iOS 7 появились Image Assets (Asset переводится как “актив”), для графических файлов с определенными именами (в строках) для разной кратности разрешения (в столбцах). По запросу из приложения возвращались файлы нужного разрешения,

Скорее всего, предпринимались и другие меры по подготовке решительных перемен. Тем временем, для iPhone 6 Plus потребовались графические файлы 3-кратного размера. В том же, естественно, количестве что и 1- и 2-кратных. Только еще более тяжелых.

Проблема стала нестерпимой.

Как решать эту проблему?

Я видел (примерно в то же самое время) как подобная проблема решалась в одном из Store одного из ведущих производителей телефонов и планшетов для Android. Не скажу какого, мы работали с несколькими. Store, также как и “яблочный” App Store, тщательно проверял предлагаемые ему приложения, а среди требований было ограничение на размер сборки, в разы меньшее чем размер приложения которое уже не первый год размещалось в Google Play.

В документации нашелся и ответ, по сути “делайте что хотите”. Размещайте все ресурсы на своем сервере, и загружайте их оттуда, по мере необходимости, когда приложение будет установлено на устройстве. Так и поступили.

На сервере компании место было, без нервотрепки не обошлось, но его нам выделили.

Едва ли не самая типичная реакция на инновации Apple: “это уже делали до них, много раз, ничего нового они не придумали”. Но в том-то и дело что, как правило, главный вопрос не “что?” а “как?”.

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

Путь Apple – правильно делать правильные вещи (Гай Кавасаки)

Решение Apple было частью iOS 9. Решений было несколько, большую часть трудозатрат Apple брала на себя.

Разработчик, как и прежде, отправлял на проверку и размещение в App Store программу с полным набором всех ресурсов, необходимых ей для нормальной работы на всех типах iOS-устройств.

При установке приложения на устройство пользователя, автоматически, с участием LLVM, из приложения удалялось все что на целевом устройстве не понадобится.

Устанавливался только исполняемый код соответствующий целевому устройству, и только графические файлы требуемого размера. Из тех которые размещались в Image Assets. Все это делало программное обеспечение App Store.

К Image Assets в iOS 9 добавили Data Assets, для размещения любых ресурсов для разных типов устройств. С ними поступали точно также. Кроме разрешения экрана для выбора какие именно ресурсы устанавливать использовались самые разные критерии: объем оперативной памяти, тип графического процессора и другие.

В зависимости от технических возможностей устройства на которое устанавливалось приложение, App Store автоматически выбирал нужное.

В распоряжении разработчика было еще одно средство: установка приложения по частям, с последующей загрузкой (из App Store) других частей – по запросу приложения. А когда доступной памяти становилось слишком мало, части которые дольше не использовались удалялись (на устройстве). По запросу приложения удаленная часть возвращалась на её место.

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

На WWDC в качестве примера приводила игра с несколькими уровнями. Скорее всего, при установке приложения будет установлен первый уровень, когда возникнет потребность во втором уровне, по запросу приложения, будет загружен и установлен второй. При острой нехватке памяти первый уровень (поскольку его не использовали дольше) будет удален, но по первому же требованию App Store его восстановит.

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате.

👍 0 👎 0

>>>Ссылка для отзывов и предложений<<<


Ещё новости с тэгом Общее






















Популярное 2 недели


День матери: поздравления и подаркиДень матери: поздравления и подарки
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 149 просмотров

Новая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменамиНовая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменами
🕑 20.04.2024 Развлечения Звезды Новости 👀 145 просмотров

Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*
🕑 20.04.2024 Игры 👀 104 просмотров

День учителя: поздравленияДень учителя: поздравления
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 197 просмотров

Инсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан МерфиИнсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан Мерфи
🕑 20.04.2024 Игры 👀 153 просмотров

День города Москва 2024День города Москва 2024
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 118 просмотров

В GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RTВ GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RT
🕑 20.04.2024 Игры 👀 94 просмотров

Климова в платье с декольте и бантами покорила гостей ММКФКлимова в платье с декольте и бантами покорила гостей ММКФ
🕑 19.04.2024 Развлечения Звезды Новости 👀 170 просмотров

Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*
🕑 19.04.2024 Игры 👀 182 просмотров

Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6
🕑 19.04.2024 Игры 👀 170 просмотров

Личную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с БрежневойЛичную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с Брежневой
🕑 19.04.2024 Развлечения Звезды Новости 👀 162 просмотров

Игроки сравнили локации из трейлера Kingdom Come 2 с реальными местамиИгроки сравнили локации из трейлера Kingdom Come 2 с реальными местами
🕑 19.04.2024 Игры 👀 247 просмотров

Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*
🕑 19.04.2024 Игры 👀 202 просмотров

Обновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПКОбновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПК
🕑 19.04.2024 Игры 👀 185 просмотров

>>>Ссылка для отзывов и предложений<<<

Новости в картинках


Астрологический прогноз на май 2024 года
Stellar Blade оскорбила игроков, игра от авторов Don’t Starve, новые правила рефанда в Steam…
Конец ретроградного Меркурия: знаки зодиака, которые окажутся неуязвимыми перед проблемами с 25 апреля
Геймеры просят убрать из Kingdom Come 2 раздражающую механику
Разработчик Fallout Тодд Говард назвал свой любимый момент в сериале по игре
Сбежала из Голливуда: стало известно, где Эмбер Херд начала новую жизнь
*10 тысяч кораблей* - подробности отменённого спин-оффа *Игры престолов*
Крис Пратт пытается найти кошачью сущность в новом ролике *Гарфилда*
«Моя любовь»: Билан вывел на сцену и нежно обнял особенную девушку
Вышел крупный патч для сборника переизданий Star Wars: Battlefront Classic Collection
В эту пятницу разработчики WoW: Cataclysm Classic приглашают игроков протестировать рейтинговые поля боя вместе с ними
Актёр проговорился, что Gears 6 покажут в июне
Сравнительное видео Unreal Engine 5.4 демонстрирует различия в отражениях с трассировкой лучей
Стало известно точное время выхода Manor Lords
Gran Turismo 7 отдаст дань уважения легендарному автомобилю; новое обновление появится 25 апреля
Battlestate Games поделилась обновленной дорожной картой Escape from Tarkov: Arena
Bandai Namco поделилась трогательным заявлением Акиры Ториямы в преддверии релиза Sand Land
25 апреля: какой сегодня праздник?
Бузову готовят к операции — что скрывает ведущая от фанатов
5 лучших функций iOS 17, ради которых стоит наконец обновить свой Айфон
Хорошо устроилась: суррогатная мать детей Пугачевой снова родила
*Человек-Паук* Сэма Рэйми достойно показывает себя в повторном кинопрокате
Не удалось отправить SMS на указанный вами номер. Что делать, если не получается зайти в Ватсап
Как дозвониться ребенку, если его телефон в беззвучном режиме. Хитрый лайфхак от родителя
Новые режимы и событие: тактический шутер *Калибр* получил обновление
Готовящийся к выходу Snapdragon X Plus может оказаться быстрее Apple M3
В Line War добавят однопользовательский и кооперативный режимы
В League of Legends рассказали, как будут выглядеть сезонные обновления
В Stellar Blade нашли расистское оскорбление - его сразу убрали
Китайский 8-ядерный процессор Zhaoxin KX-7000 по производительности догнал Intel Skylake
Состоялся выход приключенческой VR-головоломки Doctor Who: The Edge of Time для PS VR2
Denuvo не помогла: Tales of Kenzera ZAU оказалась в день релиза на торрент-трекерах благодаря эмулятору Ryujinx
У физической версии Stellar Blade будет реверсивная обложка
Шестилетний Galaxy Note 9 теперь может использовать функции Galaxy AI
«Это охота на ведьм»: Пригожин взорвался из-за обвинений в адрес Валерии
*Кин-дза-дза* оставила свой след в Мире Кораблей
Разработчики Albion Online объявили об успешном запуске нового сервера *Европа*
Как создать PWA из любого сайта на компьютерах Apple с macOS Sonoma
Дизайнер мультиплеера StarCraft 2 работает над новой игрой, которая сменит парадигму RTS
Разработчики Path of Exile рассказали о создании сюжета для лиги *Некрополь*
«Видит Бог, я не хотела»: молодая жена Петросяна раскрыла свой диагноз
Assassin*s Creed Mirage - полноценная игра, но у Ubisoft есть другие идеи для Басима
В раннем доступе вышел Rotwood - экшен-рогалик от авторов Don*t Starve
В Индии киберспортсмены получили государственные премии наравне с обычными спортсменами за участие в Азиатских Играх
Ролевая игра Sand Land получила релизный трейлер и неплохие оценки от прессы
Варнава рассказала, зачем купила квартиру в Грузии — рядом живет Еприкян
Для EVE Online анонсировано крупное обновление под названием *Equinox*
5 очень важных характеристик камеры смартфона, на которые редко обращают внимание
Патч первого дня добавляет в Stellar Blade Новую игру+
Flaming Fowl Studios уволила большинство сотрудников и заморозила разработку только что анонсированной игры
Авторы сурвайвала на дирижабле Forever Skies получили инвестиции от KRAFTON
Manor Lords: Ситибилдер с подвохом
Apple и Epic Games снова встретятся в суде
Orcs Must Die! 3 станет новой игрой в бесплатной раздаче Epic Games Store 2 мая
Латентная диффузия в действии: знакомьтесь с обновлённой нейросетью YandexART 1.3
Продажи Frostpunk превысили пять миллионов копий
*Крайне отполированная игра*: Digital Foundry провели технических анализ Stellar Blade
Муж девальвировался, а она и не заметила: о беде Пугачевой заговорили в открытую
В World of Warcraft появится отдельный режим для арахнофобов
Названа дата альфа-теста Marvel Rivals

ePN © 2023 Все права защищены.