Android 16: Kako ubrzava ažuriranja i instalaciju aplikacija

  • Android 16 smanjuje vrijeme zamrzavanja aplikacija tokom ažuriranja sa nekoliko sekundi na milisekunde premještanjem zadataka poput dexopt i dex2oat.
  • Nova cloud verzija preuzima unaprijed izgrađene artefakte aplikacija (SDM) iz Play Store-a kako bi ubrzala instalaciju, posebno na mobilnim uređajima niže klase.
  • Uvode se značajne promjene u dizajnu, dozvolama za ispravnost, Bluetoothu, sigurnosti namjera, GPU-u i lokalnom umrežavanju koje poboljšavaju stabilnost, privatnost i kompatibilnost.
  • Cilj ovog poboljšanja je da Android 16 ponudi glatkije i sigurnije iskustvo, a istovremeno se proširi na više uređaja proizvođača kao što su Samsung, Xiaomi i drugi.

Ažuriranja za Android 16

Android 16 dolazi s jednim od onih poboljšanja koja na prvi pogled izgledaju beznačajna, ali koja u svakodnevnom životu mogu napraviti veliku razliku: Ažuriranja aplikacija postaju gotovo trenutna i mnogo manje dosadna.Zahvaljujući kombinaciji sistemskih promjena i novih funkcija za instaliranje aplikacija, Google želi da vaš telefon uvijek bude ažuriran, a da pritom ne osjećate da se nešto stalno zamrzava.

Iza ovog glatkijeg iskustva stoji nekoliko tehničkih komponenti koje rade u pozadini: nova „besprijekorna ažuriranja aplikacija“, premještanje procesa poput dexopt-a i dex2oat-a i takozvana izgradnja u oblakuSve ovo dolazi uz druge značajne promjene u Androidu 16 koje utiču na programere, performanse, sigurnost, privatnost, digitalno zdravlje i kompatibilnost s više formata ekrana. Pogledajmo jasno i direktno šta se tačno mijenja.

Šta su besprijekorna ažuriranja aplikacija u Androidu 16?

Centralna ideja Androida 16 u ovom području je jasna: kako bi se osiguralo da ažuriranja aplikacija imaju najmanji mogući utjecaj na normalno korištenje mobilnog telefonaDo sada, svaki put kada bi se aplikacija ažurirala, sistem ju je morao "zamrznuti" na kratko vrijeme dok se ne bi zamijenio njen kod i interni resursi, što je sprečavalo da radi paralelno kako bi se izbjegle greške, kvarovi podataka ili neočekivana gašenja.

Ese Privremeno zamrzavanje je imalo smisla sa stanovišta stabilnosti.Ali u praksi, to bi moglo biti pomalo neugodno. Kod velikih ili sistemski kritičnih aplikacija, to zamrzavanje od nekoliko sekundi bilo je dovoljno da uzrokuje da se druge aplikacije koje su ovisile o njima ponašaju čudno, zaglave u čekanju ili čak prikažu povremene greške.

Ažuriranja za Android 16
Vezani članak:
Android 16 i ikone: obavezno prilagođavanje i ujedinjena radna površina

Sa Androidom 16, Google čini još jedan korak i agresivnije usvaja koncept... besprijekorna ažuriranja aplikacijaCilj nije samo skratiti vrijeme ažuriranja, već i smanjiti vrijeme tokom kojeg je aplikacija potpuno nefunkcionalna na najmanju moguću mjeru, gotovo do te mjere da je korisnik potpuno neprimjetno.

Prema informacijama koje je Google dostavio putem službenih izvora, Period tokom kojeg aplikacija ostaje zamrznuta tokom ažuriranja je porastao sa "nekoliko sekundi" na "desetine milisekundi".U praktičnom smislu, govorimo o skoku od pauze koju ste jasno primijetili do treperenja koje, u mnogim slučajevima, čak ni ne opažate.

Kako Android 16 ubrzava ažuriranja aplikacija

Da bi se postiglo ovo agresivno smanjenje vremena zastoja, Android 16 ne pribjegava površnim trikovima. Ono što radi jeste da reorganizuje vrlo teške interne zadatke i prebacuje ih u fazu prije instalacije.tako da "kritični" period u kojem aplikacija mora biti zamrznuta postaje mnogo kraći.

Dva ključna dijela ovdje su dexopt i dex2oatOvo su alati unutar Android Runtime (ART) okruženja odgovorni za optimizaciju bajtkoda aplikacije. Tradicionalno, dio njihovog rada izvršavao se upravo tokom intervala kada je aplikacija bila pauzirana, što je u nekim slučajevima produžilo vrijeme zamrzavanja za nekoliko sekundi.

Sa Androidom 16, Ovi procesi prelaze u raniju fazu toka ažuriranjaDrugim riječima, sistem izvršava većinu optimizacije prije nego što dođe do tačke u kojoj treba zamijeniti stare datoteke novima. Kada dođe do kritične pauze, sve što preostaje je izvršiti brzu zamjenu datoteka, smanjujući vrijeme zamrzavanja na samo nekoliko desetina milisekundi.

Prednost ovog pristupa je dvostruka: s jedne strane, Korisnik doživljava ažuriranje kao gotovo trenutno. jer aplikacija jedva prestaje biti dostupna; s druge strane, održava se isti nivo sigurnosti i konzistentnosti podataka, budući da se validacije i optimizacije nastavljaju vršiti, samo u manje nezgodnoj fazi procesa za korisničko iskustvo.

Pravi uticaj za korisnike s mnogo aplikacija i za skromne mobilne telefone

Ažuriranja za Android 16

Na mobilnom telefonu s malo jednostavnih aplikacija, ove promjene mogu proći donekle nezapaženo. Ako koristite samo nekoliko aplikacija koje se povremeno ažuriraju i troše malo resursa, možda nikada niste osjetili da su ažuriranja problem.Ali slika se znatno mijenja kada govorimo o uređajima s desetinama aplikacija, zahtjevnim igrama ili uslugama koje se često ažuriraju.

Na telefonima na kojima se intenzivno koristi mnogo aplikacija, Smanjenje vremena zastoja između ažuriranja znači manje kratkih zamrzavanja, manje čudnih preskakanja interfejsa i mnogo glatkije cjelokupno iskustvo.Nadalje, ako bilo koja od ovih aplikacija djeluje kao centralna usluga ili pruža API-je drugim aplikacijama (na primjer, klijentima za razmjenu poruka, sigurnosnim bibliotekama ili sistemskim aplikacijama), minimiziranje njihovog zamrzavanja tokom ažuriranja pomaže cijelom lancu aplikacija da nastavi normalno funkcionirati.

Ovaj razvoj događaja je takođe posebno zanimljiv za uređaji početnog ili nižeg srednjeg rangagdje hardver ima poteškoća s velikim instalacijama. Google ne samo da reorganizira lokalne procese, već i povezuje ovo poboljšanje s drugom ključnom značajkom Androida 16: kompilacijom u oblaku kako bi se ubrzala instalacija novih aplikacija, što mijenja pravila igre za manje moćne telefone.

Kompilacija u oblaku: aplikacije koje se brže instaliraju zahvaljujući oblaku

Pored ubrzavanja ažuriranja, Android 16 uključuje funkciju usmjerenu na... početna instalacija aplikacija i igara, posebno na skromnijim uređajimaOva funkcija je poznata kao kompilacija u oblaku i njena misija je jasna: prebaciti dio teškog posla koji je ranije u potpunosti padao na procesor i pohranu telefona na Googleove servere.

Kada instalirate aplikaciju na Android, sistem koristi ART za pokretanje njenog koda. Tokom instalacije, alat dex2oat uzima .dex datoteke APK-a, koje sadrže kompajlirani kod, i generira nekoliko "artefakata aplikacije".Ovi artefakti pomažu aplikaciji da se otvori i radi brže i efikasnije, a mogu biti u različitim formatima: .vdex datoteke s metapodacima za validaciju bajtkoda, .odex datoteke s prekompiliranim kodom za određene metode ili .art datoteke s internim reprezentacijama stringova i klasa koje ubrzavaju pokretanje aplikacije.

Na najmoćnijim mobilnim telefonima, Generisanje ovih artefakata je relativno brzo, gotovo transparentnoAli na jeftinim telefonima, sa sporim procesorima i sporom memorijom, ovaj proces može postati usko grlo, posebno ako APK sadrži mnogo .dex datoteka ili je vrlo velika igra ili aplikacija.

Prijedlog Androida 16 je jednostavan, ali efikasan: Umjesto generiranja svih tih artefakata na uređaju, preuzmite ih već prethodno kompajlirane s Google Playa.Danas većina korisnika ima relativno brze mobilne i Wi-Fi veze, tako da je u mnogim slučajevima efikasnije koristiti mrežu nego prisiljavati procesor telefona da radi nekoliko sekundi ili čak minuta.

SDM i prekompilirani artefakti: uloga Secure Dex metapodataka

Android 16 cloud verzija se oslanja na novi tip datoteke: SDM je skraćenica za Secure Dex MetadataOve SDM datoteke, preuzete zajedno s APK-om iz Play Store-a, sadrže artefakte aplikacije koji su već generirani u Googleovoj infrastrukturi pomoću dex2oat-a, tako da uređaj ne mora lokalno ponavljati taj posao.

Važan detalj je taj SDM datoteke su potpisane istim ključem kao i APKOvo omogućava sistemu da provjeri da li artefakti dolaze iz pouzdanog izvora i da nisu izmijenjeni, osiguravajući integritet i sigurnost procesa. Na ovaj način, telefon može instalirati aplikaciju direktno koristeći ove prethodno kompajlirane artefakte, značajno ubrzavajući početnu instalaciju, posebno na hardveru niže klase.

U praksi to znači da Android 16 može u mnogim slučajevima spriječiti pokretanje dex2oat-a tokom instalacijeBudući da je sav težak posao već obavljen na Googleovim serverima, rezultat je manje opterećenje procesora, manja potrošnja energije tokom instalacije i kraće vrijeme čekanja prilikom preuzimanja velikih aplikacija ili igara sa značajnim količinama koda.

Međutim, cijeli ovaj sistem zahtijeva da Google je konfigurirao Play Store da masovno generira i distribuira ove SDM-ove.U početnim fazama, funkcija može biti prisutna u sistemu, ali ne u potpunosti aktivna, upravo zato što infrastrukturu za izgradnju u oblaku treba prilagođavati i postepeno uvoditi. Ne očekujte trenutna čuda na svim kompatibilnim uređajima; usvajanje će biti progresivno.

Veza između brzih ažuriranja i izgradnje clouda

Iako se to može činiti kao dvije odvojene stvari, Besprijekorna ažuriranja i izgradnja clouda su usko povezani Jer se oba vrte oko toga kako i kada se artefakti izvršavanja aplikacija generiraju i primjenjuju. S jedne strane, Android 16 pomiče izvršavanje dexopt i dex2oat u manje kritične faze procesa ažuriranja, minimizirajući vrijeme zamrzavanja aplikacije.

Sa druge strane, Kompilacija u oblaku znači da se u mnogim slučajevima ovaj posao ne mora ni obavljati na uređaju.Ovo se odnosi i na početnu instalaciju i na određena ažuriranja. Preuzimanjem artefakata spremnih za upotrebu, kombinacija oba pristupa čini i početnu instalaciju i naknadna ažuriranja bržim i manje nametljivim.

Sve se ovo uklapa u jedan osnovni cilj: Optimizujte Android da radi glatko čak i na skromnom hardveruistovremeno smanjujući vrijeme zastoja i ublažavajući nuspojave koje ažuriranja mogu imati na druge aplikacije i usluge.

Druge promjene u Androidu 16 koje utiču na performanse i iskustvo

Poboljšanja u ažuriranjima i instalacijama ne dolaze sama od sebe. Android 16 uključuje dugu listu promjena u ponašanju koje Oni utiču i na aplikacije koje ciljaju novu verziju (targetSdkVersion 36) i na sam operativni sistem.Mnogi od njih nisu direktno povezani s ažuriranjima aplikacija, ali utiču na stabilnost, performanse ili konzistentnost iskustva.

U području korisničkog iskustva i dizajna, Android 16 učvršćuje posvećenost interfejsima od ivice do ivice uklanjanjem opcije koja je omogućavala onemogućavanje ovog načina rada pomoću atributa `windowOptOutEdgeToEdgeEnforcement` u aplikacijama koje ciljaju novi API nivo. Ako je aplikacija namijenjena za Android 16 i radi na uređaju s ovom verzijom, više neće moći onemogućiti ovo ponašanje, tako da programeri moraju prilagoditi svoje dizajne kako bi ispravno funkcionirali u režimu cijelog ekrana.

Također postoje značajne promjene u navigaciji: Prediktivni pokreti za povratak postaju norma za aplikacije namijenjene Androidu 16Na uređajima s ovom verzijom, `onBackPressed` se više ne poziva, niti se tipka KEYCODE_BACK šalje kao prije; sistemske animacije sada vode korisnika do željene lokacije prilikom prevlačenja nazad (početna stranica, prethodna aktivnost, itd.). Programeri koji su snimili dugme za povratak trebali bi migrirati na nove API-je za navigaciju ili, kao privremeno rješenje, onemogućiti ponašanje pomoću atributa `android:enableOnBackInvokedCallback=false` u manifestu.

Ključne tehničke promjene za programere

Evo kako možete instalirati probnu verziju Androida 16
Vezani članak:
Kako instalirati Android 16 Preview: Kompletan vodič i šta je novo

Pored vizuelnog iskustva, Android 16 uvodi prilagođavanja unutrašnjeg funkcionisanja zakazanih zadataka, fontova i responzivnih rasporeda.Na primjer, metoda `scheduleAtFixedRate` mijenja svoje ponašanje: umjesto izvršavanja svih propuštenih izvršenja kada se aplikacija vrati u važeći životni ciklus, aktivira se samo jedno. Ovo pomaže u sprječavanju naglih porasta opterećenja i poboljšava ukupne performanse, iako bi programeri trebali provjeriti da li je njihova logika pogođena.

Što se tiče teksta i fontova, Atribut elegantTextHeight više nema nikakav učinak na aplikacije namijenjene Androidu 16.Takozvani „elegantni fontovi“ se ukidaju, pa je potrebno planirati konzistentan tipografski dizajn za jezike poput arapskog, tajlandskog, tamilskog ili raznih indijskih alfabeta, bez oslanjanja na ovo automatsko podešavanje.

Na uređajima s velikim ekranima (tableti, uređaji na preklop, desktop računari, automobili, televizori...), Android 16 dodatno pojačava ideju adaptivnog dizajnaNa ekranima minimalne širine od 600 dp, ograničenja orijentacije, promjene veličine i omjera širine deklarirana u manifestu se ignoriraju. To znači da će se aplikacija proširiti i ispuniti cijeli prozor, bez pillarboxinga ili prisilne portretne ili pejzažne orijentacije. Samo igre, neki izuzeci koje je konfigurirao korisnik i manji ekrani su izuzeti od ovog pravila.

Postoji privremeni put za bijeg: Svojstvo android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY može se deklarirati na nivou aktivnosti ili aplikacije. kako bi se zadržalo staro ponašanje na velikim ekranima. Ali ova funkcija će nestati u budućim verzijama (API nivo 37), tako da je preporučljivo da se prilagođavanje interfejsa počne već sada.

Vijesti iz zdravstva, povezivosti i sigurnosti

Android 16 također pojačava kontrolu nad podaci o zdravlju i fizičkoj aktivnostiDozvole BODY_SENSORS i BODY_SENSORS_BACKGROUND zamijenjene su specifičnijim dozvolama u prostoru android.permissions.health, usklađenim sa Health Connectom. Aplikacije koje čitaju osjetljive podatke poput otkucaja srca moraju zatražiti detaljne dozvole poput READ_HEART_RATE i imati vidljivu aktivnost za prikaz svoje politike privatnosti, ili riskiraju da sistem opozove te dozvole.

U oblasti Bluetootha, Uvode se nove namjere, kao što su ACTION_KEY_MISSING i ACTION_ENCRYPTION_CHANGEKako bi se bolje nosile s gubitkom uparivanja i promjenama enkripcije, aplikacije koje upravljaju uparenim uređajima mogu preciznije reagirati kada se ključevi izgube, veza se ponovo enkriptira ili se promijene sigurnosni parametri, prilagođavajući se potencijalnim razlikama između proizvođača.

Takođe, Sve aplikacije namijenjene Androidu 16 sada mogu ukloniti Bluetooth uparivanje s povezanih uređaja putem javnog API-ja u CompanionDeviceManageru.Poziv removeBond(int) vam omogućava da opozovete Bluetooth uparivanje povezano sa CDM asocijacijom, a aplikacija može osluškivati ​​ACTION_BOND_STATE_CHANGED kako bi pratila promjene u stanju uparivanja.

Što se tiče sigurnosti, Android 16 nastavlja da osnažuje sistem. MediaStore#getVersion() sada vraća jedinstvenu vrijednost po aplikacijiOvo sprečava upotrebu tog niza kao mehanizma za otiske prstiju između aplikacija. Inicijativa "Secure Intents" takođe napreduje, s ciljem jačanja sistema za razrješavanje namjera: kada se aktivira putem atributa intentMatchingFlags, potrebne su eksplicitne namjere za usklađivanje s filterom ciljne komponente, a namjere bez akcije se sprečavaju u podudaranju s filterima osim ako se ne koriste specifične zastavice poput allowNullAction.

Ova stroža kontrola može se omogućiti na nivou aplikacije ili komponente (aktivnost, servis, prijemnik...), pomoću zastavica kao što su enforceIntentFilter ili ništaTakođer uključuje poruke zapisnika za otklanjanje grešaka kod blokiranih namjera. Ideja je postepeno preći na model gdje će u budućim verzijama ova stroga rezolucija biti zadano ponašanje.

Dodatne zaštite: Mali GPU, lokalna mreža i fotografije

Još jedno područje u kojem Android 16 jača sigurnost je pristup Mali GPU-u na Pixel uređajimaStariji IOCTL-ovi ili oni namijenjeni isključivo razvoju su blokirani, a profiliranje IOCTL-ova je ograničeno na shell procese ili aplikacije koje se mogu debugirati. Ovo ne bi trebalo utjecati na redovne aplikacije, standardne grafičke API-je poput Vulkana ili OpenGL-a ili službene alate za profiliranje, ali ograničava potencijalne vektore napada na nivou kernela. Ako aplikacija pokuša koristiti zabranjene IOCTL-ove, sistem generira SELinux odbijanja, a Google preporučuje prijavljivanje problema odgovarajućim sigurnosnim kanalima.

U oblasti privatnosti, Android 16 čini veoma važan korak naprijed... Zaštita lokalne mrežeTrenutno, svaka aplikacija s dozvolom za pristup internetu može pristupiti uređajima na lokalnoj mreži (LAN), što otvara vrata tehnikama otiska prsta ili korištenju lokalne mreže kao posrednika za lokaciju. Novi pristup postavlja taj pristup iza određene dozvole za izvođenje unutar grupe obližnjih uređaja.

Uvođenje je postepeno, s fazom omogućavanja (2. kvartal 25.) u kojoj Aplikacije mogu aktivirati ograničenja putem okvira kompatibilnosti i testirati svoje slučajeve upotrebeKada je za paket postavljena zastavica RESTRICT_LOCAL_NETWORK, promet prema i od lokalnih mrežnih adresa (unicast, multicast ili broadcast preko TCP-a i UDP-a) generirat će greške ako aplikacija nema odgovarajuće dozvole, dok normalan internet promet nastavlja funkcionirati.

U ovoj početnoj fazi, Da bi ponovo dobila pristup lokalnoj mreži, aplikacija jednostavno treba da deklariše i dobije dozvolu NEARBY_WIFI_DEVICES.Međutim, u budućnosti će unutar grupe obližnjih uređaja biti uvedena posebna dozvola. Mreže kao što su 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, lokalne veze 169.254.0.0/16, CGNAT rasponi 100.64.0.0/10 i multicast adrese (224.0.0.0/4, ff00::/8), između ostalog, smatraju se "lokalnim".

Konačno, Android 16 prilagođava upravljanje pristupom fotografijama i videozapisima. Kada aplikacija koja cilja SDK 36 zatraži dozvole za medijski sadržaj na uređaju koji koristi Android 16 Ako korisnik odluči odobriti pristup samo odabranim stavkama, fotografije i videozapisi koje generira ta aplikacija prikazat će se unaprijed odabrani u biraču fotografija. Korisnik ih može poništiti ako želi, što će aplikaciji ukinuti pristup tim određenim stavkama.

Sve ove promjene - gotovo trenutna ažuriranja, kompilacija u oblaku, nove dozvole, veća kontrola nad namjerama, poboljšana sigurnost GPU-a i lokalne mreže, te poboljšanja u zdravlju, povezivosti i adaptivnom dizajnu - ukazuju na isti cilj: kako bi Android 16 bio glatkija, predvidljivija i sigurnija platforma za korisnike i programere.

Vezani članak:
Android 16: Šta je Desktop Mode za PC?

Kako sve više modela brendovi poput SamsungaKako Xiaomi, Motorola, OnePlus i, naravno, Pixel telefoni budu primali ovu verziju, sve će češće biti da instaliranje ili ažuriranje aplikacije prestane biti trenutak "ukrštanja palčeva" i postane jednostavan postupak koji jedva primjećujete dok nastavljate normalno koristiti telefon. Podijelite ove informacije kako bi i drugi korisnici mogli ostati u toku s novim funkcijama Androida 16.


Pratite nas na Google Vijestima