Android 16: Kako ubrzava ažuriranja i instalaciju aplikacija

  • Android 16 smanjuje vrijeme zamrzavanja aplikacija tijekom ažuriranja s nekoliko sekundi na milisekunde premještanjem zadataka poput dexopta i dex2oata.
  • Nova cloud verzija preuzima unaprijed izgrađene artefakte aplikacija (SDM) iz Trgovine Play kako bi ubrzala instalaciju, posebno na jeftinijim mobitelima.
  • Uvode se značajne promjene u dizajnu, zdravstvenim dozvolama, Bluetoothu, sigurnosti namjera, GPU-u i lokalnom umrežavanju koje poboljšavaju stabilnost, privatnost i kompatibilnost.
  • Cilj ovih poboljšanja je učiniti Android 16 glatkijim i sigurnijim iskustvom, a proširiti ga je na više uređaja proizvođača poput Samsunga, Xiaomija i drugih.

Ažuriranja za Android 16

Android 16 dolazi s jednim od onih poboljšanja koja se na prvi pogled čine beznačajnima, ali koja u svakodnevnom životu mogu napraviti veliku razliku: Ažuriranja aplikacija postaju gotovo trenutna i puno manje dosadna.Zahvaljujući kombinaciji promjena sustava i novih značajki instalacije aplikacija, Google želi da vaš telefon uvijek bude ažuriran bez osjećaja 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 dexopta i dex2oata te takozvana izgradnja u oblakuSve ovo dolazi uz ostale značajne promjene u Androidu 16 koje utječu na razvojne programere, performanse, sigurnost, privatnost, digitalno zdravlje i kompatibilnost s više formata zaslona. Pogledajmo jasno i izravno što se točno mijenja.

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

Središnja 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 je sustav, svaki put kada bi se aplikacija ažurirala, morao nakratko "zamrznuti" dok se ne bi zamijenio njezin kod i interni resursi, sprječavajući njezin paralelni rad kako bi se izbjegle pogreške, kvarovi podataka ili neočekivana gašenja.

ese Privremeno zamrzavanje imalo je smisla sa stajališta stabilnosti.Ali u praksi, to bi moglo biti malo smetnja. U velikim ili sistemski kritičnim aplikacijama, to zamrzavanje od nekoliko sekundi bilo je dovoljno da uzrokuje čudno ponašanje drugih aplikacija koje su ovisile o njima, da zaglave u čekanju ili čak prikažu povremene pogreške.

Ažuriranja za Android 16
Povezani članak:
Android 16 i ikone: obavezna prilagodba i ujedinjena radna površina

S 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 tijekom kojeg je aplikacija potpuno neaktivna na najmanju moguću mjeru, gotovo do točke da je korisniku potpuno neprimjetna.

Prema informacijama koje je Google pružio putem službenih izvora, Razdoblje tijekom kojeg aplikacija ostaje zamrznuta tijekom ažuriranja poraslo je s "nekoliko sekundi" na "desetke milisekundi".U praksi, govorimo o skoku iz pauze koju ste jasno primijetili u treperenje koje, u mnogim slučajevima, ni ne opažate.

Kako Android 16 ubrzava ažuriranja aplikacija

Kako bi se postiglo ovo agresivno smanjenje vremena zastoja, Android 16 ne pribjegava površnim trikovima. Ono što radi jest reorganizacija vrlo teških internih zadataka i njihovo prebacivanje u fazu prije instalacije.tako da "kritični" dio u kojem aplikacija mora biti zamrznuta postaje mnogo kraći.

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

S Androidom 16, Ovi procesi prelaze u raniju fazu toka ažuriranjaDrugim riječima, sustav provodi većinu optimizacije prije nego što dođe do toč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 desetaka 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 ista razina sigurnosti i dosljednosti podataka, budući da se validacije i optimizacije nastavljaju provoditi, samo u manje nezgodnoj točki procesa za korisničko iskustvo.

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

Ažuriranja za Android 16

Na mobitelu s malo laganih 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 osjećali da su ažuriranja problem.No slika se znatno mijenja kada govorimo o uređajima s desecima 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 skokova na sučelju i puno glatkije cjelokupno iskustvo.Nadalje, ako bilo koja od ovih aplikacija djeluje kao središnja usluga ili pruža API-je drugim aplikacijama (na primjer, klijentima za razmjenu poruka, sigurnosnim bibliotekama ili sistemskim aplikacijama), minimiziranje njihovog zamrzavanja tijekom ažuriranja pomaže cijelom lancu aplikacija da nastavi normalno funkcionirati.

Ovaj razvoj događaja je također posebno zanimljiv za uređaji početne ili niže srednje klasegdje se hardver muči 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

Osim što ubrzava ažuriranja, Android 16 uključuje značajku usmjerenu na početna instalacija aplikacija i igara, posebno na skromnijim uređajimaOva značajka poznata je kao kompilacija u oblaku i njezina je misija jasna: prenijeti dio teškog posla koji je prije u potpunosti padao na procesor i pohranu telefona na Googleove poslužitelje.

Kada instalirate aplikaciju na Android, sustav koristi ART za pokretanje svog koda. Tijekom instalacije, alat dex2oat uzima .dex datoteke APK-a, koje sadrže kompilirani kod, i generira nekoliko "artefakata aplikacije".Ovi artefakti pomažu aplikaciji da se otvori i radi brže i učinkovitije, a mogu biti u različitim formatima: .vdex datoteke s metapodacima za validaciju bajtkoda, .odex datoteke s prethodno kompajliranim kodom za određene metode ili .art datoteke s internim prikazima nizova i klasa koje ubrzavaju pokretanje aplikacije.

Na najmoćnijim mobilnim telefonima, Generiranje 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 uključuje mnogo .dex datoteka ili je vrlo velika igra ili aplikacija.

Prijedlog Androida 16 je jednostavan, ali učinkovit: Umjesto generiranja svih tih artefakata na uređaju, preuzmite ih već unaprijed kompilirane s Google PlayaDanas većina korisnika ima razumno brze mobilne i Wi-Fi veze, pa je u mnogim slučajevima učinkovitije koristiti mrežu nego prisiljavati procesor telefona da radi nekoliko sekundi ili čak minuta.

SDM i prekompilirani artefakti: uloga metapodataka Secure Dexa

Android 16 Cloud verzija oslanja se na novu vrstu datoteke: SDM je kratica za Secure Dex MetadataOve SDM datoteke, preuzete zajedno s APK-om iz Trgovine Play, sadrže artefakte aplikacije koji su već generirani u Googleovoj infrastrukturi pomoću dex2oat-a, tako da uređaj ne mora lokalno ponavljati taj rad.

Važan detalj je taj SDM datoteke su potpisane istim ključem kao i APKTo omogućuje sustavu da provjeri potječu li artefakti iz pouzdanog izvora i nisu li izmijenjeni, osiguravajući integritet i sigurnost procesa. Na taj način telefon može instalirati aplikaciju izravno koristeći ove unaprijed kompajlirane artefakte, što značajno ubrzava početnu instalaciju, posebno na slabijem hardveru.

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

Međutim, cijeli ovaj sustav zahtijeva da Google je konfigurirao Trgovinu Play za masovno generiranje i distribuciju ovih SDM-ova.U početnim fazama, značajka može biti prisutna u sustavu, ali ne u potpunosti aktivna, upravo zato što infrastrukturu za izgradnju u oblaku treba prilagoditi i postupno uvoditi. Nemojte očekivati ​​trenutna čuda na svim kompatibilnim uređajima; usvajanje će biti progresivno.

Veza između brzih ažuriranja i izgradnje oblaka

Iako se mogu činiti kao dvije odvojene stvari, Besprijekorna ažuriranja i izgradnja oblaka usko su povezani Jer se oboje vrti oko toga kako i kada se generiraju i primjenjuju artefakti izvršavanja aplikacija. S jedne strane, Android 16 pomiče izvršavanje dexopta i dex2oata u manje kritične faze procesa ažuriranja, minimizirajući vrijeme zamrzavanja aplikacije.

Nadalje, Kompilacija u oblaku znači da se u mnogim slučajevima ovaj posao ne mora ni obaviti na uređaju.To se odnosi i tijekom početne instalacije i kod određenih ažuriranja. Preuzimanjem artefakata spremnih za korištenje, kombinacija oba pristupa čini i početnu instalaciju i naknadna ažuriranja bržima i manje nametljivima.

Sve se to podudara s temeljnim ciljem: Optimizirajte Android za nesmetan rad čak i na skromnom hardveruistovremeno smanjujući vrijeme zastoja i ublažavajući nuspojave koje ažuriranja mogu imati na druge aplikacije i usluge.

Ostale promjene u Androidu 16 koje utječu na performanse i iskustvo

Poboljšanja u ažuriranjima i instalacijama ne dolaze sama od sebe. Android 16 uključuje dugi popis promjena ponašanja koje Utječu i na aplikacije koje ciljaju novu verziju (targetSdkVersion 36) i na sam operativni sustav.Mnogi od njih nisu izravno povezani s ažuriranjima aplikacija, ali utječu na stabilnost, performanse ili dosljednost iskustva.

U području korisničkog iskustva i dizajna, Android 16 učvršćuje predanost sučeljima od ruba do ruba uklanjanjem opcije koja je omogućavala onemogućavanje ovog načina rada pomoću atributa `windowOptOutEdgeToEdgeEnforcement` u aplikacijama koje ciljaju novu API razinu. 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, pa programeri moraju prilagoditi svoje dizajne kako bi ispravno funkcionirali u punom zaslonu.

Također postoje značajne promjene u navigaciji: Prediktivne geste 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 pomicanja prstom unatrag (početna stranica, prethodna aktivnost itd.). Razvojni programeri koji su snimili gumb za povratak trebali bi prijeći na nove navigacijske API-je ili, kao privremeno rješenje, onemogućiti ponašanje pomoću atributa `android:enableOnBackInvokedCallback=false` u manifestu.

Ključne tehničke promjene za razvojne programere

Evo kako možete instalirati probnu verziju Androida 16
Povezani članak:
Kako instalirati Android 16 Preview: Potpuni vodič i novosti

Osim vizualnog iskustva, Android 16 uvodi prilagodbe unutarnjeg rada zakazanih zadataka, fontova i responzivnih izgledaNa primjer, metoda `scheduleAtFixedRate` mijenja svoje ponašanje: umjesto izvršavanja svih propuštenih izvršavanja kada se aplikacija vrati u valjani životni ciklus, pokreće se samo jedno. To pomaže u sprječavanju naglih porasta opterećenja i poboljšava ukupne performanse, iako bi programeri trebali provjeriti je li njihova logika pogođena.

Što se tiče teksta i fontova, Atribut elegantTextHeight više nema utjecaja na aplikacije namijenjene Androidu 16Takozvani „elegantni fontovi“ se ukidaju, stoga je potrebno planirati dosljedan tipografski dizajn za jezike poput arapskog, tajlandskog, tamilskog ili raznih indijskih pisama bez oslanjanja na ovo automatsko prilagođavanje.

Na uređajima s velikim ekranima (tableti, sklopivi uređaji, stolna računala, automobili, televizori…), Android 16 dodatno pojačava ideju adaptivnog dizajnaNa zaslonima minimalne širine od 600 dp, ograničenja orijentacije, promjene veličine i omjera slike navedena u manifestu se zanemaruju. To znači da će se aplikacija proširiti i ispuniti cijeli prozor, bez pillarboxinga ili prisilne portretne ili pejzažne orijentacije. Samo su igre, neke korisnički konfigurirane iznimke i manji zasloni izuzeti od ovog pravila.

Postoji privremeni put za bijeg: Svojstvo android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY može se deklarirati na razini aktivnosti ili aplikacije. kako bi se zadržalo staro ponašanje na velikim ekranima. Ali ova će značajka nestati u budućim verzijama (API razina 37), stoga je preporučljivo odmah započeti s prilagođavanjem sučelja.

Vijesti u zdravstvu, povezivosti i sigurnosti

Android 16 također pojačava kontrolu nad podaci o zdravlju i tjelesnoj aktivnostiDozvole BODY_SENSORS i BODY_SENSORS_BACKGROUND zamijenjene su specifičnijim dozvolama u prostoru android.permissions.health, usklađenima s Health Connectom. Aplikacije koje čitaju osjetljive podatke poput otkucaja srca moraju zatražiti detaljna dopuštenja poput READ_HEART_RATE i imati vidljivu aktivnost za prikaz svojih pravila o privatnosti ili riskiraju da sustav opozove ta dopuštenja.

U području 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 ponovno enkriptira ili se promijene sigurnosni parametri, prilagođavajući se potencijalnim razlikama između proizvođača.

Osim toga, Sve aplikacije namijenjene Androidu 16 sada mogu ukloniti Bluetooth uparivanje s povezanih uređaja putem javnog API-ja u CompanionDeviceManageruPoziv removeBond(int) omogućuje vam opoziv Bluetooth uparivanja povezanog s 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 učvršćivati ​​sustav. MediaStore#getVersion() sada vraća jedinstvenu vrijednost po aplikacijiTo sprječava korištenje tog niza kao mehanizma otiska prsta između aplikacija. Inicijativa "Secure Intents" također napreduje, s ciljem jačanja sustava 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 ne mogu se podudarati s filterima osim ako se ne koriste specifične zastavice poput allowNullAction.

Ova stroža kontrola može se omogućiti na razini aplikacije ili komponente (aktivnost, usluga, prijemnik…), pomoću zastavica kao što su enforceIntentFilter ili ništaTakođer uključuje poruke zapisnika za otklanjanje pogrešaka blokiranih namjera. Ideja je postupno prijeć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 gdje Android 16 jača sigurnost je u pristup Mali GPU-u na Pixel uređajimaStariji IOCTL-ovi ili oni namijenjeni isključivo razvoju su blokirani, a profiliranje IOCTL-ova ograničeno je na ljuske procese ili aplikacije koje se mogu ispravljati. To 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 razini kernela. Ako aplikacija pokuša koristiti zabranjene IOCTL-ove, sustav generira SELinux odbijanja, a Google preporučuje prijavljivanje problema odgovarajućim sigurnosnim kanalima.

U području privatnosti, Android 16 čini vrlo važan korak naprijed s... Zaštite lokalnih mrežaTrenutno, svaka aplikacija s dopuštenjem 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 smješta taj pristup iza određenog dopuštenja za vrijeme izvođenja unutar grupe obližnjih uređaja.

Uvođenje je postupno, s fazom osposobljavanja (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 s lokalnih mrežnih adresa (unicast, multicast ili broadcast putem TCP-a i UDP-a) generirat će pogreške ako aplikacija nema odgovarajuća dopuštenja, dok normalan internetski promet nastavlja funkcionirati.

U ovoj početnoj fazi, Za ponovno dobivanje pristupa LAN-u, aplikacija jednostavno treba deklarirati i dobiti dozvolu NEARBY_WIFI_DEVICES.Međutim, u budućnosti će se unutar grupe uređaja u blizini uvesti posebna dozvola. Mreže poput 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 "lokalnima".

Konačno, Android 16 prilagođava upravljanje pristupom fotografijama i videozapisima. Kada aplikacija koja cilja SDK 36 zatraži dopuštenja za medijski sadržaj na uređaju s Androidom 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, čime se aplikaciji ukida pristup tim određenim stavkama.

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

Povezani članak:
Android 16: Što 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 "prekrižanja 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 tijeku s novim značajkama Androida 16.


Pratite nas na Google vijestima