Android 16 идва с едно от онези подобрения, които на пръв поглед изглеждат незначителни, но в ежедневието могат да направят голяма разлика: Актуализациите на приложенията стават почти мигновени и много по-малко досадни.Благодарение на комбинация от системни промени и нови функции за инсталиране на приложения, Google иска телефонът ви винаги да е актуален, без да се чувствате сякаш нещо постоянно замръзва.
Зад това по-плавно изживяване стоят няколко технически компонента, работещи във фонов режим: новите „безпроблемни актуализации на приложенията“, преместването на процеси като dexopt и dex2oat и така нареченото изграждане в облакВсичко това идва в допълнение към други значителни промени в Android 16, които засягат разработчиците, производителността, сигурността, поверителността, дигиталното здраве и съвместимостта с повече формати на екрана. Нека разгледаме ясно и директно какво точно се променя.
Какво представляват безпроблемните актуализации на приложенията в Android 16?
Централната идея на Android 16 в тази област е ясна: за да се гарантира, че актуализациите на приложенията имат възможно най-малко въздействие върху нормалната употреба на мобилния телефонДосега, всеки път, когато дадено приложение се актуализираше, системата трябваше да го „замрази“ за кратък период от време, докато подменя кода и вътрешните си ресурси, предотвратявайки паралелното му изпълнение, за да се избегнат грешки, повреди в данните или неочаквани изключвания.
че Временното замразяване имаше смисъл от гледна точка на стабилността.Но на практика това може да е малко неудобно. При големи или системно критични приложения, това няколкосекундно замръзване беше достатъчно, за да накара други приложения, които зависеха от тях, да се държат странно, да заседнат в чакане или дори да показват случайни грешки.
С Android 16, Google прави още една крачка и по-агресивно възприема концепцията за... безпроблемни актуализации на приложениятаЦелта е не само актуализацията да отнема по-малко време, но и да се намали до минимум времето, през което приложението е напълно неработещо, почти до степен да стане незабележимо за потребителя.
Според информация, предоставена от Google чрез официални източници, Периодът, през който приложението остава замръзнало по време на актуализация, се е увеличил от „няколко секунди“ на „десетки милисекунди“.На практика говорим за скок от пауза, която ясно сте забелязали, до трептене, което в много случаи дори не възприемате.
Как Android 16 ускорява актуализациите на приложенията
За да постигне това агресивно намаляване на времето на престой, Android 16 не прибягва до повърхностни трикове. Това, което прави, е да реорганизира много тежки вътрешни задачи и да ги изведе на етап преди инсталацията.така че „критичният“ период, в който приложението трябва да бъде замразено, става много по-кратък.
Двете ключови части тук са дексопт и декс2оатТова са инструменти в средата на Android Runtime (ART), отговорни за оптимизиране на байт-кода на приложението. Традиционно част от работата им се изпълняваше точно по време на интервала, когато приложението беше поставено на пауза, което в някои случаи удължаваше времето за замразяване с няколко секунди.
С Android 16, Тези процеси преминават към по-ранна фаза от потока на актуализацияС други думи, системата извършва по-голямата част от оптимизацията, преди да стигне до точката, в която трябва да замени старите файлове с нови. Когато настъпи критичната пауза, остава само да се извърши бърза смяна на файлове, намалявайки времето за замразяване до само няколко десетки милисекунди.
Предимството на този подход е двойно: от една страна, Потребителят възприема актуализацията като почти мигновена. защото приложението едва спира да бъде достъпно; от друга страна, същото ниво на сигурност и последователност в данните се поддържа, тъй като валидациите и оптимизациите продължават да се извършват, само че в по-малко неудобен за потребителското изживяване момент от процеса.
Реално въздействие за потребители с много приложения и за скромни мобилни телефони
На мобилен телефон с малко леки приложения, тези промени може да останат донякъде незабелязани. Ако използвате само няколко приложения, които се актуализират от време на време и консумират малко ресурси, може никога да не сте смятали, че актуализациите са проблем.Но картината се променя значително, когато говорим за устройства с десетки приложения, тежки игри или услуги, които се актуализират често.
На телефони, където много приложения се използват интензивно, Намаляването на времето за престой между актуализациите означава по-малко кратки замръзвания, по-малко странни прескачания на интерфейса и много по-плавно цялостно изживяване.Освен това, ако някое от тези приложения действа като централна услуга или предоставя API на други приложения (например клиенти за съобщения, библиотеки за сигурност или системни приложения), минимизирането на тяхното замръзване по време на актуализации помага на цялата верига от приложения да продължи да функционира нормално.
Това развитие е особено интересно и за устройства от начално или по-нисък среден класкъдето хардуерът се затруднява да се справи с големи инсталации. Google не само реорганизира локалните процеси, но и свързва това подобрение с друга ключова функция на Android 16: компилация в облак, за да ускори инсталирането на нови приложения, което променя играта за по-малко мощните телефони.
Компилация в облака: приложения, които се инсталират по-бързо благодарение на облака
В допълнение към ускоряването на актуализациите, Android 16 включва функция, фокусирана върху... първоначална инсталация на приложения и игри, особено на скромни устройстваТази функция е известна като облачна компилация и мисията ѝ е ясна: да прехвърли част от тежката работа, която преди това се падаше изцяло върху процесора и паметта на телефона, към сървърите на Google.
Когато инсталирате приложение на Android, системата използва ART, за да изпълни кода си. По време на инсталацията, инструментът dex2oat взема .dex файловете на APK файла, които съдържат компилирания код, и генерира няколко „артефакта на приложението“.Тези артефакти помагат на приложението да се отваря и работи по-бързо и по-ефективно и могат да бъдат в различни формати: .vdex файлове с метаданни за валидиране на байткода, .odex файлове с предварително компилиран код за специфични методи или .art файлове с вътрешни представяния на низове и класове, които ускоряват стартирането на приложението.
На най-мощните мобилни телефони, Генерирането на тези артефакти е сравнително бързо, почти прозрачноНо при евтини телефони, с бавни процесори и памет, този процес може да се превърне в пречка, особено ако APK файлът включва много .dex файлове или е много голяма игра или приложение.
Предложението на Android 16 е просто, но ефективно: Вместо да генерирате всички тези артефакти на устройството, изтеглете ги предварително компилирани от Google Play.Днес повечето потребители имат сравнително бързи мобилни и Wi-Fi връзки, така че в много случаи е по-ефективно да се използва мрежата, отколкото да се натоварва процесорът на телефона за няколко секунди или дори минути.
SDM и предварително компилирани артефакти: ролята на метаданните на Secure Dex
Облачната версия на Android 16 разчита на нов файлов тип: SDM е съкращение от Secure Dex MetadataТези SDM файлове, изтеглени заедно с APK файла от Play Store, съдържат артефактите на приложението, вече генерирани в инфраструктурата на Google с помощта на dex2oat, така че устройството не е необходимо да повтаря тази работа локално.
Важна подробност е това SDM файловете са подписани със същия ключ като APK файла.Това позволява на системата да провери дали артефактите идват от надежден източник и не са били променяни, като по този начин се гарантира целостта и сигурността на процеса. По този начин телефонът може да инсталира приложението директно, използвайки тези предварително компилирани артефакти, което значително ускорява първоначалната инсталация, особено на хардуер от нисък клас.
На практика това означава, че Android 16 може да попречи на dex2oat да се стартира по време на инсталацията в много случаи.Тъй като усилената работа вече е свършена на сървърите на Google, резултатът е по-малко натоварване на процесора, по-ниска консумация на енергия по време на инсталиране и по-кратко време на изчакване при изтегляне на големи приложения или игри със значителни количества код.
Цялата тази система обаче изисква това Google конфигурира Play Store да генерира и разпространява тези SDM файлове масово.В началните фази функцията може да е налична в системата, но да не е напълно активна, именно защото инфраструктурата за изграждане на облак трябва да се коригира и внедрява постепенно. Не очаквайте незабавни чудеса на всички съвместими устройства; приемането ще бъде поетапно.
Връзка между бързите актуализации и изграждането на облачни услуги
Въпреки че може да изглеждат като две отделни неща, Безпроблемните актуализации и изграждането на облачни услуги са тясно свързани Защото и двете се въртят около това как и кога се генерират и прилагат артефакти за изпълнение на приложения. От една страна, Android 16 изтегля изпълнението на dexopt и dex2oat в по-малко критични фази от процеса на актуализиране, минимизирайки времето, през което приложението остава замразено.
Освен това, Компилирането в облак означава, че в много случаи тази работа дори не е необходимо да се извършва на устройството.Това важи както по време на първоначалната инсталация, така и за някои актуализации. Чрез изтегляне на готови за употреба артефакти, комбинацията от двата подхода прави както първоначалната инсталация, така и последващите актуализации по-бързи и по-малко натрапчиви.
Всичко това се вписва в една основна цел: Оптимизирайте Android, за да работи безпроблемно дори на скромен хардуеркато същевременно намалява времето на престой и смекчава страничните ефекти, които актуализациите могат да имат върху други приложения и услуги.
Други промени в Android 16, които влияят на производителността и потребителското изживяване
Подобренията в актуализациите и инсталациите не идват сами. Android 16 включва дълъг списък от промени в поведението, които Те засягат както приложенията, които са насочени към новата версия (targetSdkVersion 36), така и самата операционна система.Много от тях не са пряко свързани с актуализации на приложенията, но влияят на стабилността, производителността или последователността на работата.
В областта на потребителското изживяване и дизайна, Android 16 затвърждава ангажимента към интерфейси от край до край чрез премахване на опцията, която позволяваше деактивирането на този режим с помощта на атрибута `windowOptOutEdgeToEdgeEnforcement` в приложения, насочени към новото ниво на API. Ако дадено приложение е насочено към Android 16 и работи на устройство с тази версия, то вече няма да може да деактивира това поведение, така че разработчиците трябва да адаптират своите дизайни, за да функционират правилно на цял екран.
Има и значителни промени в навигацията: Предсказуемите жестове за връщане назад се превръщат в норма за приложенията, насочени към Android 16На устройства с тази версия, `onBackPressed` вече не се извиква, нито пък клавишът KEYCODE_BACK се изпраща както преди; системните анимации вече насочват потребителя до желаното място при плъзгане назад (начало, предишна активност и др.). Разработчиците, които са заснели бутона за връщане назад, трябва да мигрират към новите навигационни API или, като временно решение, да деактивират поведението с атрибута `android:enableOnBackInvokedCallback=false` в манифеста.
Ключови технически промени за разработчиците
Отвъд визуалното преживяване, Android 16 въвежда корекции във вътрешните механизми на планираните задачи, шрифтовете и адаптивните оформления.Например, методът `scheduleAtFixedRate` променя поведението си: вместо да изпълнява всички пропуснати изпълнения, когато приложението се върне към валиден жизнен цикъл, се задейства само едно. Това помага за предотвратяване на внезапни пикове в натоварването и подобрява цялостната производителност, въпреки че разработчиците трябва да проверят дали логиката им е засегната.
Относно текста и шрифтовете, Атрибутът elegantTextHeight вече няма ефект върху приложения, насочени към Android 16.Така наречените „елегантни шрифтове“ се преустановяват, така че е необходимо да се планира последователен типографски дизайн за езици като арабски, тайландски, тамилски или различни индийски азбуки, без да се разчита на това автоматично настройване.
На устройства с големи екрани (таблети, сгъваеми устройства, настолни компютри, автомобили, телевизори...), Android 16 допълнително засилва идеята за адаптивен дизайнНа екрани с минимална ширина от 600 dp, ограниченията за ориентация, преоразмеряване и съотношение на страните, декларирани в манифеста, се игнорират. Това означава, че приложението ще се разгъне, за да запълни целия прозорец, без pillarbox или принудителна портретна или пейзажна ориентация. Само игри, някои потребителски конфигурирани изключения и по-малки екрани са изключени от това правило.
Има временен път за бягство: Свойството android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY може да бъде декларирано на ниво дейност или приложение. да се запази старото поведение на големи екрани. Но тази функция ще изчезне в бъдещите версии (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, вече могат да премахват Bluetooth сдвояването от свързани устройства чрез публичен API в CompanionDeviceManager.Извикването removeBond(int) ви позволява да отмените Bluetooth сдвояването, свързано с CDM асоциация, а приложението може да слуша ACTION_BOND_STATE_CHANGED, за да проследява промените в състоянието на сдвояване.
По отношение на сигурността, Android 16 продължава да втвърдява системата. MediaStore#getVersion() вече връща уникална стойност за всяко приложениеТова предотвратява използването на този низ като механизъм за пръстови отпечатъци между приложенията. Инициативата „Secure Intents“ също напредва, като целта е да се засили системата за разрешаване на намерения: когато се активира чрез атрибута intentMatchingFlags, са необходими изрични намерения, за да се съпостави филтърът на целевия компонент, а намеренията без действие не могат да съвпадат с филтрите, освен ако не се използват специфични флагове като allowNullAction.
Този по-строг контрол може да бъде активиран на ниво приложение или компонент (дейност, услуга, приемник...), с флагове като enforceIntentFilter или нямаВключва и лог съобщения за отстраняване на грешки при блокирани намерения. Идеята е постепенно да се премине към модел, при който в бъдещите версии тази стриктна резолюция ще бъде поведението по подразбиране.
Допълнителни защити: Mali GPU, локална мрежа и снимки
Друга област, в която Android 16 засилва сигурността, е в достъп до графичния процесор Mali на устройства PixelПо-старите IOCTL-ове или тези, предназначени единствено за разработка, са блокирани, а профилирането на IOCTL-ове е ограничено до shell процеси или приложения с възможност за отстраняване на грешки. Това не би трябвало да засяга обикновените приложения, стандартните графични API-та като Vulkan или OpenGL или официалните инструменти за профилиране, но ограничава потенциалните вектори за атака на ниво ядро. Ако дадено приложение се опита да използва забранени IOCTL-ове, системата генерира откази от SELinux и Google препоръчва проблемът да се докладва на съответните канали за сигурност.
В областта на поверителността, Android 16 прави много важна крачка напред с... Защити на локалната мрежаВ момента всяко приложение с разрешение за достъп до интернет може да осъществява достъп до устройства в локалната мрежа, което отваря вратата за техники за снемане на пръстови отпечатъци или използване на локалната мрежа като прокси за местоположение. Новият подход поставя този достъп зад специфично разрешение по време на изпълнение в групата на близките устройства.
Внедряването е постепенно, с фаза на активиране (2-ро тримесечие на 25 г.), в която Приложенията могат да активират ограничения чрез рамката за съвместимост и да тестват своите случаи на употребаКогато флагът RESTRICT_LOCAL_NETWORK е зададен за пакет, трафикът към и от локални мрежови адреси (unicast, multicast или broadcast през TCP и UDP) ще генерира грешки, ако приложението няма съответните разрешения, докато нормалният интернет трафик продължава да функционира.
В тази начална фаза, За да си възвърне достъпа до локалната мрежа, приложението просто трябва да декларира и получи разрешението NEARBY_WIFI_DEVICES.В бъдеще обаче ще бъде въведено специфично разрешение в групата „устройства наблизо“. Мрежи като 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, локални връзки 169.254.0.0/16, CGNAT диапазони 100.64.0.0/10 и multicast адреси (224.0.0.0/4, ff00::/8), наред с други, се считат за „локални“.
И накрая, Android 16 настройва управлението на достъпа до снимки и видеоклипове. Когато приложение, насочено към SDK 36, поиска разрешения за медийно съдържание на устройство с Android 16 Ако потребителят избере да предостави достъп само до избрани елементи, снимките и видеоклиповете, генерирани от това приложение, ще се показват предварително избрани в селектора за снимки. Потребителят може да ги отмени, ако желае, което отменя достъпа на приложението до тези конкретни елементи.
Всички тези промени – почти мигновени актуализации, компилация в облак, нови разрешения, по-голям контрол върху намеренията, подобрена сигурност на графичния процесор и локалната мрежа, както и подобрения в здравето, свързаността и адаптивния дизайн – сочат към една и съща цел: да направи Android 16 по-плавна, по-предсказуема и по-сигурна платформа както за потребители, така и за разработчици.
Тъй като все повече модели на марки като SamsungС получаването на тази версия от телефоните Xiaomi, Motorola, OnePlus и, разбира се, Pixel, ще става все по-често срещано инсталирането или актуализирането на приложение да престане да бъде момент на „стискане на палци“ и да се превърне в проста процедура, която едва забелязвате, докато продължавате да използвате телефона си нормално. Споделете тази информация, за да могат други потребители да бъдат в течение с новите функции на Android 16.
