19.08.2016, 15:37:31
Войти Зарегистрироваться
Авторизация на сайте

Ваш логин:

Ваш пароль:

Забыли пароль?

Навигация
Новости
Архив новостей
Реклама
Календарь событий
Right Left

"Схудлі" додатка звільнять простір на iPhone і iPad

iOS8 була не надто добра до iPhone і iPad на 8 Гб і 16Гб. Оновлення "по повітрю" вимагали багатьох гігабайтів вільної пам'яті, і їх установка скорочувала доступне на вашому пристрої вільний простір. Разом з iPhone6 ​​Plus, котрі принесли "3x" ресурси, додатки стали більше, ніж вони коли-небудь були. На щастя, iOS9 повинна допомогти з цією проблемою, пише ArsTechnica .

Apple вже згадала, що компанія зменшила пам'ять, що вимагається для OTA оновлення iOS 9, с 4.6 Гб до 1.3 Гб, але більш цікава технологія поки не отримала уваги: ​​Схуднення додатків (App Thinning). Мета її полягає в тому, щоб додатки на вашому телефоні або планшеті залишили більше вільного простору.

Є три основних механізми, які розробники можуть використовувати для зменшення розмірів додатків. Перший і найзначніший - Нарізка додатки (App Slicing). Кожен бінарник додатки для iOS, який ви завантажуєте, містить весь код для всіх пристроїв (якщо припустити, що це нове універсальне додаток з підтримкою iPhone 6 Plus, пристроїв, 32-розрядний 64 біта) - воно містить Ассет для буквально кожного підтримуваного iOS пристрою, незалежно від того, потрібен цей код для вашого пристрою чи ні.

Припустимо, у вас iPhone 5C з 32-бітовим CPU і GPU без підтримки API Metal. Скачайте сучасну універсальну і гру, і в неї буде включений 64-бітний код, ресурси для iPad і "3х" для iPhone 6 Plus, до того ж ще і непотрібний код Metal API. А потрібен всього-то 32-бітний код, "2х" Ассет для iPhone і код для OpenGL графіки. Нарізка додатки дозволить завантажувати тільки ту частину, яка потрібна саме для вашого пристрою.

Важливо зауважити, що це не повинно вимагати великої додаткової роботи від розробників - все, що потрібно, згідно з документацією , Покласти все в каталог Ассет і тегіровать для різних платформ. Розробники так само, як і зараз, завантажують повні версії своїх додатків в App Store, а App Store проробляє роботу щодо збирання і доставку специфічних для пристрою версій цих додатків.

Розробники так само, як і зараз, завантажують повні версії своїх додатків в App Store, а App Store проробляє роботу щодо збирання і доставку специфічних для пристрою версій цих додатків

Друга функція куди складніша. Ресурси по запиту (On-Demand Resources, ODR) - частини додатків, які викачуються тільки тоді, коли вони потрібні і видаляються з пристрою після виконання свого завдання. Apple виклала на сайті для розробників багато подробиць про ODR, але основна річ - не треба використовувати всі ресурси в додатку в один і той же час.

Наприклад, в грі з великою кількістю рівнів, передбачає Apple, потрібно використовувати тільки ті дані, які потрібні для проходження конкретного рівня і подальших, а вже пройдені більше не потрібні. Для додатки з туторіали потрібно завантажити туторіал для першого запуску, а після його проходження можна його видалити, якщо ясно, що його не будуть проходити заново. Додаток з покупками всередині може не викачувати ці елементи, поки ви їх не купите.

Під час кодинга додатків розробникам, які хочуть використовувати ODR, потрібно буде привласнювати теги різних частин коду. приклад Apple - знову гра, в якій можна тегіровать Ассет для різних рівнів. Дані будуть скачиваться з App Store (або з вашого тестіровочного Mac, якщо ви розробник), коли вони потрібні, і віддалятися, коли ОС потрібна пам'ять для чогось іншого. Розробники зможуть вказати, який Ассет потрібен для першого запуску додатків, коли з додатком ці ресурси більше не потрібні і які теги потрібно видаляти в першу чергу для очищення простору.

Розробники зможуть вказати, який Ассет потрібен для першого запуску додатків, коли з додатком ці ресурси більше не потрібні і які теги потрібно видаляти в першу чергу для очищення простору

Apple надала повний список того, який контент додатків може бути тегірован як ODR - картинки і медіа файли в нього включені серед кількох інших речей - але реально виконуваний код не можна тегіровать як ODR.

Це здається більш важким, ніж Нарізка додатків, але все разом допоможе заощадити простір. Не дуже зрозуміло, які можуть виникнути з цим проблеми; наприклад, з додатком може знадобитися завантажити якийсь ресурс, а інтернет-з'єднання не буде, або знадобиться більше часу на роботу програми, поки воно буде завантажувати ресурси.

Остання частина - те, що Apple назвала Bitcode. Коли розробники завантажують додатки в App Store, замість вже двійкові програми їм потрібно надати "проміжну" версію цих додатків, яка компілюватиметься безпосередньо для пристрою, коли користувач завантажує додаток. Це робить можливим частина функціональності Нарізки додатків - визначає, завантажує ваше додаток 32- або 64-бітний код.

Оскільки Apple компілює код за запитом, компанія зможе реалізовувати покращувати компілятор без необхідності розробнику ресабмітіть додаток. В цілому, це не сильно відрізняється від JIT (just-in-time) на Android і Рантайм ahead-of-time (AOT) Dalvik і ART, які компілюють код для конкретної архітектури CPU, коли ви запускаєте або завантажуєте додатків (відповідно).

Використання Bitcode включено за замовчуванням, але опціонально для додатків на iOS (швидше за все скоро воно стане обов'язковим). Проте, воно вже необхідно для нативних додатків на Apple Watch.

Якщо ви знайшли друкарську помилку - виділіть її та натисніть Ctrl + Enter! Для зв'язку з нами ви можете використовувати [email protected] .