„Android 16“ turi vieną iš tų patobulinimų, kurie iš pirmo žvilgsnio atrodo nereikšmingi, tačiau kasdieniame gyvenime gali turėti didelės įtakos: Programėlių atnaujinimai tampa beveik akimirksniu ir daug mažiau erzinantys.Dėl sistemos pakeitimų ir naujų programų diegimo funkcijų derinio „Google“ nori, kad jūsų telefonas visada būtų atnaujintas, kad nejaustumėte, jog kažkas nuolat užstringa.
Už šios sklandesnės patirties fone veikia keli techniniai komponentai: nauji „vientisų programų atnaujinimai“, tokių procesų kaip „dexopt“ ir „dex2oat“ perkėlimas ir vadinamasis debesies kūrimasVisa tai vyksta kartu su kitais reikšmingais „Android 16“ pakeitimais, kurie turi įtakos kūrėjams, našumui, saugumui, privatumui, skaitmeninei sveikatai ir suderinamumui su daugiau ekrano formatų. Aiškiai ir tiesiogiai panagrinėkime, kas tiksliai keičiasi.
Kas yra sklandūs programų atnaujinimai sistemoje „Android 16“?
Pagrindinė „Android 16“ idėja šioje srityje aiški: siekiant užtikrinti, kad programėlių atnaujinimai kuo mažiau paveiktų įprastą mobiliojo telefono naudojimąIki šiol kiekvieną kartą atnaujinus programėlę, sistema turėjo ją trumpam „užšaldyti“, kol pakeisdavo kodą ir vidinius išteklius, neleisdama jai veikti lygiagrečiai, kad būtų išvengta klaidų, duomenų gedimų ar netikėtų išsijungimų.
Ese Laikinas užšaldymas buvo prasmingas stabilumo požiūriu.Tačiau praktiškai tai gali būti šiek tiek nepatogu. Didelėse arba sistemai svarbiose programose to kelių sekundžių užstrigimo pakakdavo, kad kitos nuo jų priklausančios programos imtų elgtis keistai, užstrigti laukimo režime ar net retkarčiais rodyti klaidas.
Su „Android 16“ „Google“ žengia dar vieną žingsnį ir agresyviau taiko koncepciją sklandūs programų atnaujinimaiTikslas yra ne tik sutrumpinti atnaujinimo laiką, bet ir kuo labiau sumažinti laiką, per kurį programa visiškai neveikia, beveik iki to, kad vartotojas jos nepastebi.
Remiantis „Google“ pateikta informacija iš oficialių šaltinių, Laikotarpis, kurį programa išlieka užstrigusi atnaujinimo metu, sumažėjo nuo „kelių sekundžių“ iki „dešimčių milisekundžių“.Praktiškai kalbant, kalbame apie šuolį nuo aiškiai pastebėtos pauzės iki mirgėjimo, kurio daugeliu atvejų net nepastebite.
Kaip „Android 16“ pagreitina programų atnaujinimus
Siekdama šio drastiško prastovų laiko sutrumpinimo, „Android 16“ nesigriebia paviršutiniškų gudrybių. Tai reiškia, kad labai sunkios vidinės užduotys pertvarkomos ir perkeliamos į etapą prieš diegimą.taigi „kritinis“ laikotarpis, per kurį programa turi būti sustabdyta, tampa daug trumpesnis.
Du pagrindiniai elementai čia yra dexopt ir dex2oatTai „Android Runtime“ (ART) aplinkos įrankiai, atsakingi už programos baitkodo optimizavimą. Tradiciškai dalis jų darbo buvo atliekama tiksliai tuo metu, kai programa buvo pristabdyta, todėl kai kuriais atvejais sustabdymo laikas pailgėjo keliomis sekundėmis.
Su Android 16, Šie procesai pereina į ankstesnį atnaujinimo srauto etapąKitaip tariant, sistema atlieka didžiąją dalį optimizavimo prieš pasiekdama tašką, kai reikia pakeisti senus failus naujais. Kai įvyksta kritinė pauzė, belieka tik atlikti greitą failų sukeitimą, sutrumpinant užšaldymo laiką iki vos kelių dešimčių milisekundžių.
Šio metodo privalumas yra dvejopas: viena vertus, Vartotojas atnaujinimą suvokia beveik akimirksniu. nes programėlė beveik nustoja būti pasiekiama; kita vertus, išlaikomas tas pats duomenų saugumo ir nuoseklumo lygis, nes patvirtinimai ir optimizavimai atliekami toliau, tik mažiau nepatogiu vartotojo patirčiai proceso metu.
Realus poveikis vartotojams, turintiems daug programėlių, ir kukliems mobiliesiems telefonams
Mobiliajame telefone su keliomis lengvomis programėlėmis šie pakeitimai gali likti nepastebėti. Jei naudojate tik kelias programas, kurios retkarčiais atnaujinamos ir sunaudoja mažai išteklių, galbūt niekada nemanėte, kad atnaujinimai yra problema.Tačiau vaizdas gerokai pasikeičia, kai kalbame apie įrenginius su dešimtimis programėlių, sudėtingų žaidimų ar dažnai atnaujinamų paslaugų.
Telefonuose, kuriuose intensyviai naudojama daug programų, Sumažinus prastovų laiką tarp atnaujinimų, sumažėja trumpų užšalimų, keistų sąsajos šuolių ir bendra patirtis yra daug sklandesnė.Be to, jei kuri nors iš šių programų veikia kaip centrinė paslauga arba teikia API kitoms programoms (pvz., pranešimų siuntimo klientams, saugos bibliotekoms ar sistemos programoms), jų užstrigimo mažinimas atnaujinimų metu padeda visai programų grandinei toliau normaliai veikti.
Šis pokytis taip pat ypač įdomus pradinio lygio arba žemesnės vidutinės klasės įrenginiaikur aparatinė įranga sunkiai susidoroja su dideliais diegimais. „Google“ ne tik pertvarko vietinius procesus, bet ir susieja šį patobulinimą su kita svarbia „Android 16“ funkcija: debesies kompiliacija, skirta pagreitinti naujų programų diegimą – tai esminis pokytis mažiau galingiems telefonams.
Debesijos kompiliacija: programos, kurios įdiegiamos greičiau dėl debesies
Be to, kad „Android 16“ pagreitina atnaujinimus, joje yra funkcija, skirta pradinis programų ir žaidimų diegimas, ypač mažuose įrenginiuoseŠi funkcija vadinama debesies kompiliacija ir jos misija aiški: perkelti dalį sunkios darbo, kuris anksčiau buvo visiškai skirtas telefono procesoriui ir saugyklai, į „Google“ serverius.
Įdiegus programėlę „Android“ sistemoje, sistema naudoja ART savo kodui vykdyti. Diegimo metu „dex2oat“ įrankis paima APK .dex failus, kuriuose yra sukompiliuotas kodas, ir sugeneruoja kelis „programos artefaktus“.Šie artefaktai padeda programai atsidaryti ir veikti greičiau bei efektyviau ir gali būti įvairių formatų: .vdex failai su metaduomenimis, skirtais baitiniam kodui patvirtinti, .odex failai su iš anksto sukompiliuotu kodu konkretiems metodams arba .art failai su vidiniais eilučių ir klasių atvaizdavimais, kurie pagreitina programos paleidimą.
Galingiausiuose mobiliuosiuose telefonuose Šių artefaktų generavimas yra gana greitas, beveik skaidrusTačiau pigiuose telefonuose su lėtais procesoriais ir lėta atmintimi šis procesas gali tapti kliūtimi, ypač jei APK faile yra daug .dex failų arba tai labai didelis žaidimas ar programa.
„Android 16“ pasiūlymas yra paprastas, bet veiksmingas: Užuot generavę visus šiuos artefaktus įrenginyje, atsisiųskite juos jau iš anksto sukompiliuotus iš „Google Play“.Šiandien dauguma vartotojų turi pakankamai greitą mobilųjį ir „Wi-Fi“ ryšį, todėl daugeliu atvejų efektyviau naudoti tinklą, nei versti telefono procesorių dirbti kelias sekundes ar net minutes.
SDM ir iš anksto kompiliuoti artefaktai: saugių Dex metaduomenų vaidmuo
„Android 16“ debesies versija remiasi nauju failų tipu: SDM reiškia „Secure Dex Metadata“Šie SDM failai, atsisiųsti kartu su APK iš „Play Store“, turi programos artefaktus, jau sugeneruotus „Google“ infrastruktūroje naudojant „dex2oat“, todėl įrenginiui nereikia kartoti šio darbo lokaliai.
Svarbi detalė yra ta SDM failai pasirašyti tuo pačiu raktu kaip ir APK.Tai leidžia sistemai patikrinti, ar artefaktai yra iš patikimo šaltinio ir nebuvo pakeisti, užtikrinant proceso vientisumą ir saugumą. Tokiu būdu telefonas gali įdiegti programą tiesiogiai naudodamas šiuos iš anksto sukompiliuotus artefaktus, o tai žymiai pagreitina pradinį diegimą, ypač žemos klasės aparatinėje įrangoje.
Praktiškai tai reiškia, kad „Android 16“ daugeliu atvejų gali neleisti „dex2oat“ veikti diegimo metuKadangi sunkus darbas jau atliktas „Google“ serveriuose, rezultatas – mažesnė procesoriaus apkrova, mažesnės energijos sąnaudos diegimo metu ir trumpesnis laukimo laikas atsisiunčiant dideles programas ar žaidimus su dideliu kodo kiekiu.
Tačiau visa ši sistema reikalauja, kad „Google“ sukonfigūravo „Play Store“ taip, kad šie SDM būtų generuojami ir platinami masiškai.Pradiniuose etapuose ši funkcija sistemoje gali būti, bet ne visiškai aktyvi, būtent todėl, kad debesijos kūrimo infrastruktūrą reikia koreguoti ir diegti palaipsniui. Nesitikėkite greitų stebuklų visuose suderinamuose įrenginiuose; diegimas bus laipsniškas.
Ryšys tarp greitų atnaujinimų ir debesijos kūrimo
Nors tai gali atrodyti kaip du skirtingi dalykai, Sklandūs atnaujinimai ir debesijos kūrimas yra glaudžiai susiję Kadangi abu šie principai sukasi apie tai, kaip ir kada generuojami ir taikomi programos vykdymo artefaktai. Viena vertus, „Android 16“ paankstina „dexopt“ ir „dex2oat“ vykdymą į mažiau svarbius atnaujinimo proceso etapus, taip sumažindama laiką, kurį programa užstringa.
Be to, Kompiliavimas debesyje reiškia, kad daugeliu atvejų šio darbo net nereikia atlikti įrenginyje.Tai taikoma tiek pradinio diegimo metu, tiek atliekant tam tikrus atnaujinimus. Atsisiunčiant paruoštus naudoti artefaktus, abiejų metodų derinys pagreitina ir sumažina pradinio diegimo, ir vėlesnių atnaujinimų poreikį.
Visa tai atitinka pagrindinį tikslą: Optimizuokite „Android“, kad sklandžiai veiktų net ir su kuklia aparatine įrangatuo pačiu sumažinant prastovas ir sušvelninant šalutinį poveikį, kurį atnaujinimai gali turėti kitoms programoms ir paslaugoms.
Kiti „Android 16“ pakeitimai, turintys įtakos našumui ir patirčiai
Atnaujinimų ir diegimų patobulinimai neatsiranda patys savaime. „Android 16“ apima ilgą elgesio pakeitimų sąrašą, kuris Jie veikia tiek programas, kurios skirtos naujajai versijai („targetSdkVersion 36“), tiek pačią operacinę sistemą.Daugelis jų nėra tiesiogiai susiję su programėlių atnaujinimais, tačiau jie turi įtakos patirties stabilumui, našumui ar nuoseklumui.
Vartotojo patirties ir dizaino srityje, „Android 16“ sustiprina įsipareigojimą kurti sąsajas nuo krašto iki krašto pašalinant parinktį, kuri leido išjungti šį režimą naudojant atributą „windowOptOutEdgeToEdgeEnforcement“ programose, skirtose naujam API lygiui. Jei programa skirta „Android 16“ ir veikia įrenginyje su šia versija, ji nebegalės išjungti šio veikimo, todėl kūrėjai turi pritaikyti savo dizainą, kad jis tinkamai veiktų viso ekrano režimu.
Taip pat yra reikšmingų navigacijos pakeitimų: Nuspėjamieji gestai atgal tampa norma programėlėms, skirtoms „Android 16“Įrenginiuose su šia versija nebeiškviečiamas „onBackPressed“ ir nebesiunčiamas „KEYCODE_BACK“ raktas kaip anksčiau; sistemos animacijos dabar nukreipia vartotoją į norimą vietą braukiant atgal (pradžia, ankstesnė veikla ir pan.). Kūrėjai, kurie užfiksavo grįžimo mygtuką, turėtų pereiti prie naujų naršymo API arba, kaip laikiną sprendimą, išjungti šį veikimą manifeste naudojant atributą „android:enableOnBackInvokedCallback=false“.
Svarbiausi techniniai pakeitimai kūrėjams
Be vizualinės patirties, „Android 16“ pristato suplanuotų užduočių, šriftų ir reaguojančių maketų vidinio veikimo pakeitimus.Pavyzdžiui, metodas „scheduleAtFixedRate“ pakeičia savo elgseną: užuot vykdę visus praleistus vykdymus, kai programa grįžta į galiojantį gyvavimo ciklą, aktyvuojamas tik vienas. Tai padeda išvengti staigių darbo krūvio šuolių ir pagerina bendrą našumą, nors kūrėjai turėtų patikrinti, ar jų logika nepaveikta.
Kalbant apie tekstą ir šriftus, „elegantTextHeight“ atributas nebeturi jokios įtakos programoms, skirtoms „Android 16“.Vadinamieji „elegantiški šriftai“ nebenaudojami, todėl būtina suplanuoti nuoseklų tipografinį dizainą tokioms kalboms kaip arabų, tailandiečių, tamilų ar įvairioms indų abėcėlėms, nepasikliaujant šiuo automatiniu koregavimu.
Įrenginiuose su dideliais ekranais (planšetiniuose kompiuteriuose, sulankstomuosiuose įrenginiuose, stacionariuose kompiuteriuose, automobiliuose, televizoriuose ir kt.), „Android 16“ dar labiau sustiprina adaptyvaus dizaino idėjąEkranuose, kurių minimalus plotis yra 600 dp, manifeste nurodyti orientacijos, dydžio keitimo ir vaizdo santykio apribojimai ignoruojami. Tai reiškia, kad programa išsiplės, kad užpildytų visą langą, be vertikalios orientacijos ar priverstinės portreto ar peizažo orientacijos. Ši taisyklė netaikoma tik žaidimams, kai kurioms vartotojo konfigūruojamoms išimtims ir mažesniems ekranams.
Yra laikinas evakuacijos kelias: „android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY“ savybę galima deklaruoti veiklos arba programos lygmeniu. išlaikyti seną veikimą dideliuose ekranuose. Tačiau ši funkcija išnyks būsimose versijose (API lygis 37), todėl patartina pradėti sąsajų pritaikymą jau dabar.
Sveikatos, ryšio ir saugumo naujienos
„Android 16“ taip pat sustiprina kontrolę sveikatos ir fizinio aktyvumo duomenysLeidimai „BODY_SENSORS“ ir „BODY_SENSORS_BACKGROUND“ pakeičiami konkretesniais leidimais, esančiais android.permissions.health erdvėje, suderintais su „Health Connect“. Programos, kurios skaito neskelbtinus duomenis, pvz., širdies ritmą, turi prašyti išsamių leidimų, pvz., „READ_HEART_RATE“, ir turėti matomą veiklą, kad būtų rodoma jų privatumo politika, kitaip sistema gali atšaukti šiuos leidimus.
„Bluetooth“ srityje Įvedami nauji ketinimai, pvz., ACTION_KEY_MISSING ir ACTION_ENCRYPTION_CHANGEKad geriau tvarkytų susiejimo praradimo ir šifravimo pakeitimus, programėlės, valdančios susietus įrenginius, gali tiksliau reaguoti, kai prarandami raktai, ryšys iš naujo užšifruojamas arba pasikeičia saugumo parametrai, prisitaikydamos prie galimų gamintojų skirtumų.
Be to, Visos programos, skirtos „Android 16“, dabar gali pašalinti „Bluetooth“ susiejimą iš susietų įrenginių per viešą API „CompanionDeviceManager“Skambutis removeBond(int) leidžia atšaukti su CDM susiejimu susietą „Bluetooth“ susiejimą, o programa gali klausytis ACTION_BOND_STATE_CHANGED, kad sektų susiejimo būsenos pokyčius.
Kalbant apie saugumą, „Android 16“ ir toliau stiprina sistemą. „MediaStore#getVersion()“ dabar grąžina unikalią reikšmę kiekvienai programaiTai neleidžia naudoti tos eilutės kaip pirštų atspaudų mechanizmo tarp programų. Taip pat tęsiama iniciatyva „Saugūs ketinimai“, kuria siekiama sustiprinti ketinimų atpažinimo sistemą: kai ji aktyvuojama per „intentMatchingFlags“ atributą, norint atitikti tikslinio komponento filtrą, reikalingi aiškūs ketinimai, o ketinimai be veiksmo neatitinka filtrų, nebent naudojamos specialios žymės, pvz., „allowNullAction“.
Ši griežtesnė kontrolė gali būti įjungta programos arba komponento lygmeniu (veikla, paslauga, imtuvas...), naudojant tokias žymas kaip „enforceIntentFilter“ arba joksTaip pat yra žurnalo pranešimai, skirti blokuotų ketinimų derinimui. Idėja yra palaipsniui pereiti prie modelio, kuriame būsimose versijose šis griežtas sprendimas bus numatytasis elgesys.
Papildoma apsauga: „Mali GPU“, vietinis tinklas ir nuotraukos
Kita sritis, kurioje „Android 16“ sustiprina saugumą, yra prieiga prie „Mali“ GPU „Pixel“ įrenginiuoseSenesni IOCTL arba tie, kurie skirti tik kūrimui, yra blokuojami, o profiliuojami IOCTL gali būti naudojami tik apvalkalo procesams arba derinamoms programoms. Tai neturėtų paveikti įprastų programų, standartinių grafikos API, tokių kaip „Vulkan“ ar „OpenGL“, ar oficialių profiliavimo įrankių, tačiau tai apriboja galimus branduolio lygio atakų vektorius. Jei programa bando naudoti draudžiamus IOCTL, sistema generuoja „SELinux“ uždraudimus, o „Google“ rekomenduoja pranešti apie problemą atitinkamiems saugos kanalams.
Privatumo srityje „Android 16“ žengia labai svarbų žingsnį į priekį. Vietinio tinklo apsaugos priemonėsŠiuo metu bet kuri programa, turinti interneto prieigos leidimą, gali pasiekti įrenginius LAN tinkle, atverdama duris pirštų atspaudų spausdinimo technologijoms arba vietinio tinklo naudojimui kaip vietos nustatymo tarpinio serverio įrankiui. Naujasis metodas suteikia šią prieigą tik su konkrečiu vykdymo laiko leidimu netoliese esančių įrenginių grupėje.
Diegimas yra laipsniškas, o vienas iš įgyvendinimo etapų (2025 m. II ketv.) Programėlės gali aktyvuoti apribojimus naudodamos suderinamumo sistemą ir išbandyti jų naudojimo atvejusKai paketui nustatyta žymė RESTRICT_LOCAL_NETWORK, srautas į vietinio tinklo adresus ir iš jų (vienaadresis, daugiaadresis arba transliavimas per TCP ir UDP) generuos klaidas, jei programa neturės atitinkamų leidimų, o įprastas interneto srautas toliau veiks.
Šiame pradiniame etape Norint atgauti prieigą prie LAN, programai tereikia deklaruoti ir gauti NEARBY_WIFI_DEVICES leidimą.Tačiau ateityje netoliese esančių įrenginių grupėje bus įvestas specialus leidimas. Tokie tinklai kaip 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, vietinės jungtys 169.254.0.0/16, CGNAT diapazonai 100.64.0.0/10 ir daugiaadresio perdavimo adresai (224.0.0.0/4, ff00::/8) ir kiti laikomi „vietiniais“.
Galiausiai, „Android 16“ pakoreguoja prieigos prie nuotraukų ir vaizdo įrašų valdymą. Kai programa, orientuota į SDK 36, prašo medijos turinio leidimų įrenginyje, kuriame veikia „Android 16“ Jei vartotojas pasirenka suteikti prieigą tik prie pasirinktų elementų, tos programėlės sugeneruotos nuotraukos ir vaizdo įrašai nuotraukų parinkiklyje bus rodomi kaip iš anksto pasirinkti. Jei pageidauja, vartotojas gali juos atšaukti, taip panaikindamas programėlės prieigą prie tų konkrečių elementų.
Visi šie pakeitimai – beveik momentiniai atnaujinimai, kompiliavimas debesyje, nauji leidimai, didesnė ketinimų kontrolė, patobulintas GPU ir vietinio tinklo saugumas, taip pat sveikatos, ryšio ir adaptyvaus dizaino patobulinimai – nurodo tą patį tikslą: kad „Android 16“ taptų sklandesne, labiau nuspėjama ir saugesne platforma tiek vartotojams, tiek kūrėjams.
Kuo daugiau modelių tokie prekių ženklai kaip „Samsung“Kadangi „Xiaomi“, „Motorola“, „OnePlus“ ir, žinoma, „Pixel“ telefonai gaus šią versiją, vis dažniau bus įprasta, kad programos diegimas ar atnaujinimas nebebus „sukryžiuotų pirštų“ akimirka, o taps paprasta procedūra, kurios vos pastebėsite, kai įprastai naudosite telefoną. Pasidalykite šia informacija, kad kiti naudotojai galėtų sekti naujausią informaciją apie naujas „Android 16“ funkcijas.
