Android 16 виходить з тріумфом, приносячи одне з тих покращень, які, хоча й не з'являються в найпривабливішій рекламі, Вони можуть справді змінити те, як ви використовуєте свій мобільний телефон у повсякденному житті.Йдеться про нову систему оновлення програм, яка практично усуває надокучливі паузи під час оновлення програми у фоновому режимі.
Ключ криється в поєднанні технічних змін «під капотом»: від т.зв. безперебійні оновлення програм (безперебійні оновлення програм) до хмарна компіляціяЦе включає налаштування середовища виконання Android, дозволів, адаптивного дизайну та безпеки. Все це було інтегровано в Android 16, щоб оновлення або встановлення програми більше не було просто схрещуванням пальців та сподіванням, що телефон не зависне.
Що зміниться з оновленнями програм для Android 16?
Досі щоразу, коли програма оновлювалася, операційна система мала «Заморозьте це» на кілька секунд замінити свій код та внутрішні ресурси без ризику пошкодження даних або неочікуваних зупинок. Це тимчасове блокування було необхідним заходом для підтримки стабільності, але на практиці це могло бути досить незручним.
Коли уражений додаток був легким, це блокування залишалося майже непоміченим; однак у випадку важкі програми або ті, що відіграють критичну роль у системіЦих кількох секунд було достатньо для того, щоб інші програми, які залежали від нього, почали поводитися нестабільно, зависати або відображати епізодичні помилки. Якщо ви щодня користуєтеся багатьма програмами, ви, ймовірно, помічали невеликі заїкання або дивні паузи одразу після того, як Play Store завершив кілька оновлень одночасно.
Android 16 робить значний крок у цій галузі, більш агресивно впроваджуючи філософію безперебійні оновлення програмМета полягає не лише в тому, щоб скоротити загальний час процесу оновлення, але й інтервал, протягом якого додаток повністю не працює, скорочується до частки секундидо такої міри, що на практиці вам може бути навіть важко це сприйняти.
Згідно з документацією та поясненнями Google, період зависання програми під час її оновлення змінюється з від «кількох секунд» до «десятків мілісекунд»Іншими словами, це переходить від чітко видимої паузи до чогось, що, якщо ви не стежите за кожною деталлю, відчувається як звичайне моргання.
Як Android 16 зменшує паузу в оновленнях?
Щоб досягти такого агресивного скорочення, Android 16 не вдається до неякісних скорочень; він робить це... реорганізувати порядок, у якому система виконує дуже складні завдання під час встановлення та оновлень програм. Секрет полягає в тому, щоб перенести дорогу роботу з критичного моменту, коли програму потрібно зупинити.
Ключовими елементами тут є дексопт y dex2oat, два компоненти середовища Android Runtime (ART), що відповідають за Оптимізуйте байт-код програмиТрадиційно значна частина їхньої роботи виконувалася саме тоді, коли додаток був завислий, що подовжувало це вікно бездіяльності на кілька секунд, особливо на повільніших пристроях або з дуже великими додатками.
З Android 16 Google переносить ці процеси до попередній етап встановлення або оновленняСистема виконує більшу частину оптимізації, перш ніж досягне критичної точки, коли потрібно замінити старі файли новими. Таким чином, коли настає час заморозити програму, системі потрібно лише швидко замінити попередньо підготовлені файли, скорочуючи паузу до кількох десятків мілісекунд.
Такий підхід має подвійну перевагу для користувача: з одного боку, Ви помічаєте, що оновлення відбуваються майже миттєвоЦе пояснюється тим, що додаток майже ніколи не виходить з ладу; з іншого боку, підтримується той самий рівень безпеки та узгодженості даних, оскільки перевірки та оптимізації все ще проводяться, їх просто переносять на той етап процесу, коли вони набагато менше заважають роботі.
Важливо розуміти, що Android 16 Він не видаляє дексопт або декс2оат.Також він не видаляє критичні елементи керування. Змінюється лише час і спосіб їх виконання: система уникає їх виконання, коли програма зависає, і переміщує їх до попередньої точки, або навіть покладається на інші покращення, такі як хмарна компіляція, щоб частина цієї роботи надходила вже виконаною із серверів Google.

Реальний вплив на щоденне використання: багато оновлень, менше клопоту
Якщо у вас телефон з невеликою кількістю легких програм, які оновлюються дуже рідко, ці зміни, ймовірно, здадуться вам непомітними. Навіть якщо так, загальне відчуття плинності системи покращуєтьсятому що невеликі заїкання та моменти, коли програма здається «застряглою», трапляються рідше або практично непомітні.
Ця зміна справді проявляється у більш вимогливих сценаріях: мобільні телефони з десятками встановлених програм, ресурсомісткі ігри, сервіси, що часто оновлюються або середовища, де кілька програм залежать одна від одної. Зменшення часу простою між оновленнями означає, що ви помітите менше перемикань інтерфейсу, менше неочікуваних затримок та загальний досвід, який здається набагато стабільнішим.
Є один особливо делікатний випадок: додатки, які діють як центральний компонент для інших застосувань або для самої системитакі як клієнти обміну повідомленнями, служби безпеки, спільні бібліотеки або системні компоненти. Якщо одна з цих програм зависала на кілька секунд у попередніх версіях Android, це могло вплинути на все, що від неї залежало. В Android 16 цей інтервал настільки короткий, що вплив на ланцюжок залежностей різко зменшується.
Крім того, це покращення особливо вітається на телефонах початкового або нижчого середнього рівняде апаратне забезпечення страждає більше під час обробки великих установок. На цих пристроях завдання оптимізації можуть створювати значне навантаження на процесор, спричиняючи більші затримки, ніж бажано. Android 16 не лише реорганізує локальні процеси, але й підтримує частину навантаження в хмарі щоб полегшити роботу пристрою, про що ми поговоримо далі.
Хмарна компіляція: швидша інсталяція, особливо на скромних мобільних пристроях
Окрім пришвидшення оновлень, Android 16 представляє функцію, спрямовану на... початкове встановлення програм та ігорз чітким акцентом на менш потужні пристрої. Це так звані хмарна компіляція (хмарна компіляція), метою якої є перенесення більшої частини важкої роботи, яка раніше виконувалася виключно на телефоні, на сервери Google.
Коли ви встановлюєте додаток на Android, система використовує ART для запуску його коду. У цьому процесі інструмент dex2oat бере файли .dex з APK —які містять байт-код — і генерує кілька артефактів виконання, які дозволяють програмі запускатися та працювати швидше й ефективніше. Ці артефакти включають такі файли, як .vdex, .odex або .art, які зберігають метадані, попередньо скомпільований код та готові до використання внутрішні структури.
На потужних мобільних телефонах генерація цих артефактів зазвичай відбувається досить швидко, майже непомітно для користувача. Але на бюджетні телефони зі скромними процесорами та повільною пам'яттюЦя локальна компіляція може стати вузьким місцем, особливо якщо APK містить багато файлів .dex або це дуже велика гра.
Android 16 використовує інший підхід: замість того, щоб змушувати пристрій компілювати все локально, Завантажте деякі з цих попередньо скомпільованих артефактів з Google PlayУ наш час більшість користувачів мають досить пристойне з’єднання Wi-Fi або мобільного зв’язку, тому в багатьох випадках ефективніше «використовувати мережу», ніж змушувати процесор телефону працювати інтенсивніше протягом довгих секунд або хвилин.
Метадані Secure Dex (SDM): роль попередньо скомпільованих артефактів
Хмарна компіляція спирається на новий тип файлів під назвою SDM (Захищені метадані Dex)Ці файли завантажуються разом з APK з Play Store та містять артефакти, раніше згенеровані в інфраструктура Google за допомогою dex2oat, готового до використання пристроєм без повторення всієї локальної компіляції.
Ключовою деталлю є те, що ці SDM-файли Вони підписані тим самим ключем, що й сам APK.Це дозволяє системі перевірити, чи артефакти походять із легітимного джерела, не були змінені та відповідають версії встановленого додатка. Завдяки цій перевірці цілісності телефон може довіряти їм та використовувати їх для пришвидшення встановлення без шкоди для безпеки.
На практиці це означає, що з Android 16 система У багатьох випадках можна уникнути запуску dex2oat на самому пристрої.особливо під час початкового встановлення. Результатом є менше навантаження на процесор, нижче споживання енергії під час встановлення та значно коротший час очікування, особливо під час завантаження великих програм або ігор.
Однак, вся ця хмарна інфраструктура компіляції вимагає цього Google налаштовує Play Store для створення та розповсюдження SDM у великих масштабахНа ранніх етапах функція може бути присутня в системі, але не повністю розгорнута для всіх програм або пристроїв. Активація зазвичай відбувається поступово, тому не очікуйте миттєвих див на будь-якому сумісному телефоні з першого дня.
Як пов'язані швидкі оновлення та створення хмарних ресурсів?
Може здатися, що безперервні оновлення Компіляція хмарних систем та побудова хмарних систем – це окремі теми, але насправді вони вписуються в одну головоломку: вони обидві обертаються навколо коли і де генеруються артефакти виконання програмиAndroid 16 переносить виконання таких процесів, як dexopt та dex2oat, на менш критичні фази та водночас дозволяє виконувати значну частину цієї роботи навіть поза пристроєм.
З одного боку, реорганізація процесу встановлення мінімізує час, який потрібно заморозити, зосереджуючись на простому обміні попередньо підготовленими файлами. З іншого боку, Завантажте готові до використання пристрої з хмари Це зменшує потребу в локальній компіляції як у нових інсталяціях, так і в деяких оновленнях, тим самим скорочуючи загальний час.
У сукупності цей подвійний підхід переслідує дуже чітку основну мету: щоб Android працював плавно навіть на скромному обладнанніскорочення часу простою та пом’якшення побічних ефектів, які оновлення можуть мати на інші програми та служби, що працюють одночасно.
Зміни в Android 16 у дизайні, навігації та користувацькому інтерфейсі
Покращення в оновленнях та інсталяціях супроводжуються низкою змін у поведінці, які Вони впливають як на програми, що орієнтовані на новий рівень API (targetSdkVersion 36), так і на саму систему.Багато з них не пов'язані безпосередньо з оновленнями, але вони впливають на те, як сприймається продуктивність та узгодженість інтерфейсу.
У сфері дизайну Android 16 об'єднує інтерфейси "від краю до краю"Програми, орієнтовані на цю версію, більше не можуть довільно вимикати режим від краю до краю за допомогою атрибута windowOptOutEdgeToEdgeEnforcement. Це змушує розробників адаптувати свої дизайни для коректної роботи в повноекранному режимі, краще інтегруючись із жестами, панелями навігації та фонами.
Навігація також робить крок вперед завдяки нормалізація передбачувального жесту назад Для програм, орієнтованих на Android 16. На пристроях з цією версією onBackPressed більше не викликається, а клавіша KEYCODE_BACK не надсилається, як у попередніх версіях; натомість система відображає анімацію, яка передбачає, куди вас переведе жест «Назад» (на попередній екран, на головний екран тощо).
Розробникам, які покладалися на стару поведінку, слід перейти на нові API навігації Або ж ви можете тимчасово вимкнути прогнозовану поведінку за допомогою атрибута `android:enableOnBackInvokedCallback=false` у маніфесті. Це вимагає деяких налаштувань у додатках, але натомість ви отримуєте чіткішу та інтуїтивнішу навігацію для користувача.
Внутрішні налаштування для розробників: завдання, текст та великі екрани
На більш технічному рівні, Android 16 вносить зміни в те, як обробляються певні заплановані завдання, а також у поведінку деяких властивостей, пов’язаних з текстом та адаптивним дизайном. Все це вказує на більш передбачувана система з меншою кількістю піків навантаження, ціною перегляду розробниками деяких попередніх припущень.
Наприклад, метод scheduleAtFixedRate змінює свою семантику: коли програма була в режимі очікування, а потім відновлюється, «Програні» страти більше не каскадуються.але лише один. Це допомагає уникнути раптових стрибків навантаження, які можуть спричинити затримку або високе пікове споживання ресурсів, хоча це вимагає від програм, які покладаються на цей шаблон, перегляду своєї логіки.
Щодо типографіки, атрибут elegantTextHeight більше не має ефекту У додатках, орієнтованих на Android 16, так звані «елегантні шрифти», розроблені для покращення представлення певних мов (арабської, тайської, тамільської, різних індійських алфавітів тощо), припинено, тому розробники повинні планувати власну типографічну стратегію, яка адекватно охоплює ці мови, не покладаючись на це автоматичне налаштування.
Великі екрани — планшети, складні пристрої, настільні комп’ютери, автомобілі чи телевізори — також сильно зазнають впливу цієї версії. Android 16 підкріплює ідею конструкції, що дійсно адаптуються до великих діагоналейНа пристроях із мінімальною шириною 600 dp певні обмеження щодо орієнтації, зміни розміру або співвідношення сторін, заявлені в маніфесті, ігноруються. Як результат, програма розгортатиметься, щоб заповнити все вікно, уникаючи штучних чорних смуг (pillarboxing) або примусової вертикальної чи горизонтальної орієнтації.
Є винятки для ігор, деяких корпусів, налаштованих користувачем, та менших екранів, але загалом правило чітке: Android хоче, щоб програми природно масштабувалися на великих екранахІснує тимчасове рішення, що використовує властивість android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY на рівні активності або програми, але Google вже попередив, що вона зникне в майбутніх версіях (API 37), тому краще адаптуватися якомога швидше.
Нові розробки в галузі цифрового здоров'я, зв'язку та конфіденційних дозволів
Android 16 використовує можливість для подальшого посилення захисту дані про здоров'я та фізичну активністьЗагальні дозволи BODY_SENSORS та BODY_SENSORS_BACKGROUND замінено більш детальними дозволами в просторі android.permissions.health, що відповідає платформі Health Connect.
Програми, які хочуть зчитувати конфіденційну інформацію, таку як частота серцевих скорочень або інші параметри здоров'яВони повинні запитувати певні дозволи, такі як READ_HEART_RATE, а також відображати видиму активність відповідно до політики конфіденційності. Недотримання цих вимог може призвести до скасування дозволів системою, що, своєю чергою, обмежить доступ до цього типу даних.
У сфері Bluetooth з'являються нові наміри, такі як ACTION_KEY_MISSING та ACTION_ENCRYPTION_CHANGEЦі функції розроблені для кращого керування втратою ключів сполучення або змінами в шифруванні з’єднання. Таким чином, програми, які керують сполученими пристроями, отримують точніший контроль під час реагування на аномальні стани або відмінності між виробниками.
Крім того, всі програми, розроблені для Android 16, мають публічну функцію. CompanionDeviceManager для видалення сполучення Bluetooth пов'язаних пристроїв: метод removeBond(int) дозволяє скасувати зв'язок, пов'язаний з асоціацією CDM, і ви можете прослухати ACTION_BOND_STATE_CHANGED, щоб відстежувати еволюцію стану сполучення.
Покращена безпека: графічний процесор Mali, наміри та локальна мережа
Android 16 також посилює безпеку за кількома ключовими напрямками. Одним із них є доступ до Графічний процесор Mali в пристроях PixelЦе оновлення блокує старіші IOCTL або ті, що призначені виключно для розробки, та обмежує профілювання IOCTL процесами оболонки або налагоджуваними програмами. Теоретично, звичайні програми, що використовують стандартні графічні API, такі як Vulkan або OpenGL, не повинні постраждати, але воно блокує потенційні вектори атак на рівні ядра.
Ще один важливий момент – це прогрес у реалізації ініціативи «Безпечніші спроби»Використовуючи атрибут intentMatchingFlags, можна активувати набагато суворіший режим розв'язання намірів: явні наміри повинні чітко відповідати фільтру цільового компонента, а наміри без дії припиняють відповідати фільтрам, якщо не використовуються певні прапорці, такі як allowNullAction.
Цей режим можна застосовувати на рівні програми або до кожного компонента (діяльності, сервісу, приймача), використовуючи такі прапорці, як enforceIntentFilter або ніі супроводжується повідомленнями журналу для налагодження заблокованих намірів. Ідея полягає в тому, щоб поступово перейти до моделі, де ця сувора роздільна здатність стане поведінкою за замовчуванням у майбутніх версіях.
Щодо конфіденційності мережі, Android 16 запроваджує нові дзвінки Захист локальної мережі (Захист локальної мережі). Досі будь-який додаток з дозволом на доступ до Інтернету міг вільно взаємодіяти з пристроями в локальній мережі, що відкривало можливості для використання методів зчитування відбитків пальців або використання локальної мережі як сигналу приблизного місцезнаходження.
Доступ до локальних адрес
Завдяки цим засобам захисту доступ до локальних адрес (діапазонів, таких як 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 169.254.0.0/16, 100.64.0.0/10, багатоадресна розсилка 224.0.0.0/4, ff00::/8 тощо) Він залишається за певними дозволами групи пристроїв поблизуНа першому етапі (Q2 25) програми можуть активувати ці обмеження через систему сумісності та тестувати їхні варіанти використання; коли для пакета активний прапорець RESTRICT_LOCAL_NETWORK, трафік до/з локальної мережі генерує помилки, якщо програма не має відповідних дозволів.
На цьому початковому етапі достатньо подати заявку та отримати дозвіл. NEARBY_WIFI_DEVICES щоб відновити доступ до локальної мережі, що є відповідним заходом для безпека онлайн-процедурОднак Google має намір пізніше запровадити ще більш специфічний дозвіл у тій самій групі. Трафік до звичайного інтернету залишається незмінним, що мінімізує вплив на нормальне використання.
Також є корективи в елементах керування доступом до фото та відео. На пристроях під керуванням Android 16, коли програма, орієнтована на SDK 36, запитує дозволи на медіа, а користувач вирішує надати доступ лише до вибраних елементів, Фотографії та відео, створені цією програмою, відображаються попередньо вибраними. у селекторі. Користувач може вручну зняти їх прапорці, що скасовує доступ програми до цих конкретних файлів і посилює точний контроль над вмістом.
Які телефони отримають Android 16 і як відбувається його розгортання?
Android 16 слідує за календар випереджає інші версіїз бета-версіями, що з'являються раніше, ніж зазвичай. Перша бета-версія була випущена деякий час тому, а друга бета-версія вже розгортається, головним чином для вдосконалення таких аспектів, як фотографування.
L Google Pixel Вони, як завжди, перші у списку. Pixel 6 та пізніші моделі отримують бета-версії Android 16 з такими покращеннями, як гібридна автоматична експозиція в Camera2, точне налаштування колірної температури та відтінку для професійного відео, краща підтримка фотографій у русі та сумісність із зображеннями UltraHDR у форматі HEIC та, в майбутньому, AVIF.
Окрім Пікселя, Такі виробники, як Samsung та Xiaomi, вже випускають Android 16. у різних моделях середнього та високого класу, тоді як такі бренди, як Motorola та OnePlus, опублікували власні графіки оновлень. Це означає, що нові функції майже миттєвих оновлень, хмарних збірок, більш детальних дозволів та адаптивного дизайну охоплюватимуть дедалі більшу кількість користувачів у найближчі місяці.
Покращення Android 16 в інших джерелах
Android 16 також пропонує конкретні покращення в інших сферах: систему вимірювань, яка адаптується до мови (наприклад, дюйми в американській англійській та метрична система в європейських конфігураціях), Android 16 TV з новими API Для аудіо- та графічних профілів – віджет вибору профілів для перемикання користувачів з головного екрана та можливість призначити подвійне натискання кнопки живлення для швидкого доступу до Google Wallet.
Завдяки цьому набору змін, Android 16 не лише пришвидшує оновлення програм та встановлення нових програм, але й Він удосконалює навігацію, підвищує безпеку, краще дбає про дані про стан здоров'я, краще адаптує інтерфейси до великих екранів і надає розробникам додаткові інструменти..
Результатом для користувача є система, яка здається стабільнішою, менш нав'язливою під час оновлення та краще підготовленою до співіснування зі все більш складною та вимогливою екосистемою програм. Поділіться цією інформацією, щоб більше користувачів знали про швидкі оновлення своїх програм на Android 16.