Izdanje mobilne platforme Android 12

Google je objavio izdanje otvorene mobilne platforme Android 12. Izvorni tekstovi povezani s novim izdanjem objavljeni su u Git repozitoriju projekta (grana android-12.0.0_r1). Ažuriranja firmvera su pripremljena za uređaje serije Pixel, kao i za pametne telefone proizvođača Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo i Xiaomi. Dodatno, kreirani su univerzalni GSI (Generic System Images) sklopovi, pogodni za različite uređaje bazirane na ARM64 i x86_64 arhitekturi.

Glavne inovacije:

  • Predloženo je jedno od najznačajnijih ažuriranja dizajna interfejsa u istoriji projekta. Novi dizajn implementira koncept "Material You", koji se reklamira kao sljedeća generacija materijalnog dizajna. Novi koncept će se automatski primijeniti na sve platforme i elemente sučelja i neće zahtijevati od programera aplikacija da unose bilo kakve promjene. U julu je planirano da se programerima aplikacija obezbedi prvo stabilno izdanje novog kompleta alata za razvoj grafičkih interfejsa - Jetpack Compose.
    Izdanje mobilne platforme Android 12

    Sama platforma ima novi dizajn widgeta. Widgeti su učinjeni vidljivijima, uglovi su bolje zaobljeni, a omogućena je i mogućnost korištenja dinamičkih boja koje odgovaraju temi sistema. Dodane su interaktivne kontrole kao što su okviri za potvrdu i prekidači (CheckBox, Switch i RadioButton), na primjer, što vam omogućava da uređujete liste zadataka u TODO widgetu bez otvaranja aplikacije.

    Izdanje mobilne platforme Android 12

    Implementiran je glatkiji vizualni prijelaz na aplikacije koje se pokreću iz widgeta. Personalizacija widgeta je pojednostavljena - dodato je dugme (krug sa olovkom) za brzo rekonfigurisanje položaja widgeta na ekranu, koje se pojavljuje kada widget dodirnete duže vreme.

    Izdanje mobilne platforme Android 12Izdanje mobilne platforme Android 12

    Dodatni načini su predviđeni za ograničavanje veličine widgeta i mogućnost korištenja prilagodljivog izgleda elemenata widgeta (responsive layout) za kreiranje standardnih izgleda koji se mijenjaju ovisno o veličini vidljivog područja (na primjer, možete kreirati zasebne rasporede za tablete i pametne telefone). Interfejs za odabir widgeta implementira dinamički pregled i mogućnost prikaza opisa vidžeta.

    Izdanje mobilne platforme Android 12
  • Dodata je mogućnost automatskog prilagođavanja sistemske palete boji odabrane pozadine - sistem automatski detektuje preovlađujuće boje, prilagođava trenutnu paletu i primenjuje promene na sve elemente interfejsa, uključujući oblast za obaveštenja, zaključani ekran, widgete i kontrolu jačine zvuka.
  • Implementirani su novi animirani efekti, poput postepenog zumiranja i glatkog pomicanja područja prilikom pomicanja, pojavljivanja i pomicanja elemenata na ekranu. Na primjer, kada otkažete obavještenje na zaključanom ekranu, indikator vremena se automatski širi i zauzima prostor koji je obavijest prethodno zauzimala.
  • Dizajn padajućeg područja sa obavještenjima i brzim postavkama je redizajniran. U brze postavke dodane su opcije za Google Pay i kontrolu pametnog doma. Držanjem tipke za uključivanje/isključivanje pojavljuje se Google Assistant, kojem možete zapovjediti da uputite poziv, otvorite aplikaciju ili pročitate članak naglas. Obavještenja sa sadržajem navedenim u aplikaciji daju se u opštem obliku.
    Izdanje mobilne platforme Android 12
  • Dodan efekat rastezanja prekomjernog pomicanja koji ukazuje da je korisnik prešao izvan područja pomicanja i došao do kraja sadržaja. Sa novim efektom, čini se da se slika sadržaja rasteže i vraća nazad. Novo ponašanje na kraju pomicanja je omogućeno prema zadanim postavkama, ali postoji opcija u postavkama za vraćanje na staro ponašanje.
  • Interfejs je optimizovan za uređaje sa preklopnim ekranima.
    Izdanje mobilne platforme Android 12
  • Implementirani su glatkiji audio prijelazi - pri prelasku s jedne aplikacije koja emituje zvuk na drugu, zvuk prve se sada glatko utišava, a druge se glatko povećava, bez preklapanja jednog zvuka s drugim.
  • Modernizovan je interfejs za upravljanje mrežnim vezama u bloku brzih podešavanja, panelu i konfiguratoru sistema. Dodan je novi internet panel koji vam omogućava brzo prebacivanje između različitih provajdera i dijagnosticiranje problema.
    Izdanje mobilne platforme Android 12
  • Dodata je mogućnost kreiranja snimaka ekrana koji pokrivaju ne samo vidljivo područje, već i sadržaj u području za pomicanje. Mogućnost zadržavanja sadržaja izvan vidljivog područja radi za sve aplikacije koje koriste klasu View za izlaz. Za implementaciju podrške za pomicanje snimaka ekrana u programima koji koriste određena sučelja, predložen je ScrollCapture API.
    Izdanje mobilne platforme Android 12
  • Poboljšana je funkcija automatskog rotiranja sadržaja ekrana, koja sada može koristiti prepoznavanje lica s prednje kamere kako bi odredila da li ekran treba rotirati, na primjer kada osoba koristi telefon dok leži. Kako bi se osigurala povjerljivost, informacije se obrađuju u hodu bez međuskladišta slika. Ova funkcija je trenutno dostupna samo na Pixel 4 i novijim pametnim telefonima.
  • Poboljšan režim slika u slici (PIP, Slika u slici) i povećana glatkoća efekata prelaza. Ako omogućite automatski prijelaz na PIP gestom up-to-home (pomicanjem donjeg dijela ekrana prema gore), aplikacija se sada odmah prebacuje u PIP način rada, bez čekanja da se animacija završi. Poboljšana promjena veličine PIP prozora s ne-video sadržajem. Dodata je mogućnost sakrivanja PIP prozora prevlačenjem na lijevu ili desnu ivicu ekrana. Ponašanje pri dodirivanju PIP prozora je promijenjeno - jedan dodir sada prikazuje kontrolne tipke, a dvostruki dodir mijenja veličinu prozora.
  • Optimizacije performansi:
    • Izvršena je značajna optimizacija performansi sistema - opterećenje CPU-a glavnih sistemskih usluga smanjeno je za 22%, što je zauzvrat dovelo do povećanja trajanja baterije za 15%. Smanjenjem sukoba oko zaključavanja, smanjenjem kašnjenja i optimizacijom I/O-a, povećava se izvedba prelaska s jedne aplikacije na drugu i smanjuje se vrijeme pokretanja aplikacije.

      U PackageManager-u, kada radite sa snimcima u režimu samo za čitanje, sukob zaključavanja se smanjuje za 92%. Binderov međuprocesni komunikacijski mehanizam koristi lagano keširanje za smanjenje kašnjenja do 47 puta za neke vrste poziva. Poboljšane performanse za obradu dex, odex i vdex datoteka, što rezultira bržim vremenom učitavanja aplikacija, posebno na uređajima s malo memorije. Pokretanje aplikacija iz obavijesti je ubrzano, na primjer, pokretanje Google fotografija iz obavijesti sada je 34% brže.

      Performanse upita baze podataka poboljšane su upotrebom inline optimizacija u operaciji CursorWindow. Za male količine podataka, CursorWindow je postao 36% brži, a za skupove od više od 1000 redova, ubrzanje može biti i do 49 puta.

      Predloženi su kriteriji za klasifikaciju uređaja prema performansama. Na osnovu mogućnosti uređaja, dodjeljuje mu se klasa performansi, koja se zatim može koristiti u aplikacijama za ograničavanje funkcionalnosti kodeka na uređajima male snage ili za rukovanje multimedijalnim sadržajem višeg kvaliteta na moćnom hardveru.

    • Implementiran je režim hibernacije aplikacije, koji omogućava, ako korisnik nije eksplicitno komunicirao s programom duže vrijeme, da automatski resetuje prethodno date dozvole aplikaciji, zaustavi izvršenje, vrati resurse koje aplikacija koristi, kao što je memorija, i blokiraju pokretanje pozadinskog rada i slanje push obavijesti. Režim se može koristiti za većinu aplikacija i omogućava vam da zaštitite korisničke podatke kojima davno zaboravljeni programi i dalje imaju pristup. Po želji, režim hibernacije se može selektivno onemogućiti u postavkama.
    • Animacija pri rotiranju ekrana je optimizirana, smanjujući kašnjenje prije rotiranja za približno 25%.
    • Struktura uključuje novi pretraživač visokih performansi AppSearch, koji vam omogućava indeksiranje informacija o uređaju i obavljanje pretraživanja cijelog teksta s rezultatima rangiranja. AppSearch pruža dvije vrste indeksa - za organiziranje pretraživanja u pojedinačnim aplikacijama i za pretraživanje cijelog sistema.
    • Dodan je Game Mode API i odgovarajuća podešavanja koja vam omogućavaju da upravljate profilom performansi igre - na primjer, možete žrtvovati performanse kako biste produžili vijek trajanja baterije ili iskoristili sve raspoložive resurse za postizanje maksimalnog FPS-a.
    • Dodata funkcija igranja kao preuzimanja za preuzimanje resursa igre u pozadini tokom procesa instalacije, što vam omogućava da počnete igrati prije nego što se preuzimanje završi. aplikacija.
    • Povećana odzivnost i brzina reakcije pri radu s obavještenjima. Na primjer, kada korisnik dodirne obavještenje, ono ga sada odmah vodi do pridružene aplikacije. Aplikacije ograničavaju upotrebu trampolina za obavijesti.
    • Optimizirani IPC pozivi u Binderu. Korištenjem nove strategije keširanja i eliminacijom sukoba oko zaključavanja, latencija je značajno smanjena. Sve u svemu, performanse poziva Binder-a su se otprilike udvostručile, ali postoje neke oblasti u kojima su postignuta još značajnija ubrzanja. Na primjer, pozivanje refContentProvider() postalo je 47 puta brže, releaseWakeLock() 15 puta brže, a JobScheduler.schedule() 7.9 puta brže.
    • Kako bi se spriječili potencijalni problemi s performansama, aplikacijama je zabranjeno pokretanje usluga u prvom planu dok rade u pozadini, osim u nekoliko posebnih slučajeva. Za početak rada u pozadini preporučuje se korištenje WorkManagera. Kako bi se pojednostavio prijelaz, predložena je nova vrsta posla u JobScheduleru, koji počinje odmah, ima povećan prioritet i pristup mreži.
  • Promjene koje utiču na sigurnost i privatnost:
    • Interfejs Privacy Dashboard implementiran je s općim pregledom svih postavki dozvola, što vam omogućava da shvatite čemu aplikacije korisničkih podataka imaju pristup. Interfejs također uključuje vremensku liniju koja vizualizira povijest pristupa aplikacije mikrofonu, kameri i podacima o lokaciji. Za svaku aplikaciju možete vidjeti detalje i razloge za pristup osjetljivim podacima.
      Izdanje mobilne platforme Android 12
    • Na panel su dodani indikatori aktivnosti mikrofona i kamere, koji se pojavljuju kada aplikacija pristupi kameri ili mikrofonu. Kada kliknete na indikatore, pojavljuje se dijalog sa postavkama koji vam omogućava da odredite koja aplikacija radi sa kamerom ili mikrofonom i, ako je potrebno, opozovete dozvole.
    • Prekidači su dodani u iskačući blok za brza podešavanja, pomoću kojih možete nasilno isključiti mikrofon i kameru. Nakon isključivanja, pokušaji pristupa kameri i mikrofonu rezultirat će obavještenjem i praznim podacima koji se šalju aplikaciji.
      Izdanje mobilne platforme Android 12
    • Dodano je novo obavještenje koje se pojavljuje na dnu ekrana svaki put kada aplikacija pokuša pročitati sadržaj međuspremnika putem poziva funkcije getPrimaryClip(). Ako se sadržaj iz međuspremnika kopira u istu aplikaciju u koju je dodan, obavijest se ne pojavljuje.
    • Dodato je zasebno odobrenje BLUETOOTH_SCAN za skeniranje obližnjih uređaja putem Bluetooth-a. Ranije je ova mogućnost bila omogućena na osnovu pristupa informacijama o lokaciji uređaja, što je rezultiralo potrebom da se dodijele dodatne dozvole aplikacijama koje zahtijevaju uparivanje s drugim uređajem putem Bluetooth-a.
    • Moderniziran je dijalog za omogućavanje pristupa informacijama o lokaciji uređaja. Korisniku je sada data mogućnost da aplikaciji dostavi informaciju o tačnoj lokaciji ili pruži samo približne podatke, kao i da ograniči ovlaštenje samo na aktivnu sesiju s programom (zabrani pristup kada je u pozadini). Nivo tačnosti podataka koji se vraćaju prilikom odabira približne lokacije može se promijeniti u postavkama, uključujući i u odnosu na pojedinačne aplikacije.
      Izdanje mobilne platforme Android 12
    • Programeri aplikacija imaju mogućnost da onemoguće iskačuća upozorenja koja se preklapaju sa sadržajem. Ranije je mogućnost prikazivanja prozora koji se preklapaju bila kontrolirana zahtjevom za provjeru dozvola tokom instalacije aplikacija koje prikazuju prozore koji se preklapaju. Nije bilo dostupnih alata koji bi utjecali na preklapanje sadržaja iz aplikacija čiji se prozori preklapaju. Kada koristite Window#setHideOverlayWindows() poziv, svi prozori koji se preklapaju sada će biti automatski skriveni. Na primjer, skrivanje se može omogućiti kada se prikazuju posebno važne informacije, kao što je potvrda transakcije.
    • Aplikacijama se daju dodatna podešavanja za ograničavanje operacija obavještavanja dok je ekran zaključan. Ranije ste imali mogućnost da kontrolišete vidljivost obaveštenja samo dok je ekran zaključan, ali sada možete da omogućite obaveznu autentifikaciju za obavljanje bilo koje radnje sa obaveštenjima dok je ekran zaključan. Na primjer, aplikacija za razmjenu poruka može zahtijevati autentifikaciju prije brisanja ili označavanja poruke kao pročitane.
    • Dodan API PackageManager.requestChecksums() za traženje i provjeru kontrolne sume instalirane aplikacije. Podržani algoritmi uključuju SHA256, SHA512 i Merkle Root.
    • Veb mašina WebView implementira mogućnost korištenja atributa SameSite za kontrolu obrade kolačića. Vrijednost "SameSite=Lax" ograničava kolačić koji se šalje za podzahtjeve na više lokacija, kao što je traženje slike ili učitavanje sadržaja putem iframe-a s druge stranice. U "SameSite=Strict" modu, kolačići se ne šalju za bilo koju vrstu zahtjeva za više lokacija, uključujući sve dolazne veze sa vanjskih stranica.
    • Nastavljamo da radimo na nasumičnom odabiru MAC adresa kako bismo eliminirali mogućnost praćenja uređaja kada su povezani na bežičnu mrežu. Neprivilegirane aplikacije imaju ograničen pristup MAC adresi uređaja i poziv getHardwareAddress() sada vraća nultu vrijednost.
  • Promjene i poboljšanja niskog nivoa za programere aplikacija:
    • Dodata mogućnost prilagođavanja elemenata interfejsa uređajima sa zaobljenim ekranima. Programeri sada mogu dobiti informacije o zaokruživanju ekrana i prilagoditi elemente interfejsa koji padaju na nevidljive uglove. Preko novog RoundedCorner API-ja možete saznati parametre kao što su radijus i centar zaokruživanja, a preko Display.getRoundedCorner() i WindowInsets.getRoundedCorner() možete odrediti koordinate svakog zaobljenog ugla ekrana.
      Izdanje mobilne platforme Android 12
    • Dodan je novi CompanionDeviceService API, s kojim možete aktivirati aplikacije koje kontroliraju prateće uređaje, kao što su pametni satovi i fitnes trackeri. API rješava problem pokretanja i povezivanja potrebnih aplikacija kada se u blizini pojavi prateći uređaj. Sistem aktivira uslugu kada je uređaj u blizini i šalje obaveštenje kada je uređaj isključen ili kada uređaj uđe ili izađe iz opsega. Aplikacije također mogu koristiti novi profil pratećeg uređaja za lakše postavljanje dozvola za pridruživanje uređaju.
    • Poboljšan sistem predviđanja kapaciteta. Aplikacije sada mogu tražiti informacije o predviđenoj ukupnoj propusnosti u odnosu na operatera, određenu bežičnu mrežu (Wi-Fi SSID), tip mreže i jačinu signala.
    • Primena uobičajenih vizuelnih efekata, kao što su zamućenje i izobličenje boje, je pojednostavljena i sada se može primeniti pomoću RenderEffect API-ja na bilo koji RenderNode objekat ili čitavo vidljivo područje, uključujući u lancu sa drugim efektima. Ova funkcija, na primjer, omogućava vam da zamutite sliku prikazanu preko ImageView-a bez eksplicitnog kopiranja, obrade i zamjene bitmapa, pomjerajući ove radnje na stranu platforme. Dodatno, predložen je Window.setBackgroundBlurRadius() API, pomoću kojeg možete zamutiti pozadinu prozora sa efektom matiranog stakla i istaknuti dubinu tako što ćete zamutiti prostor oko prozora.
      Izdanje mobilne platforme Android 12
    • Integrirani alati za transkodiranje medijskih tokova koji se mogu koristiti u okruženjima s aplikacijom kamere koja sprema video zapis u HEVC formatu, kako bi se osigurala kompatibilnost s aplikacijama koje ne podržavaju ovaj format. Za takve aplikacije, funkcija automatskog transkodiranja je dodana u uobičajeniji AVC format.
    • Dodata podrška za format slike AVIF (AV1 Image Format), koji koristi tehnologije kompresije unutar kadra iz AV1 formata video kodiranja. Kontejner za distribuciju komprimiranih podataka u AVIF-u potpuno je sličan HEIF-u. AVIF podržava i slike u HDR (High Dynamic Range) i prostoru boja široke gamute, kao iu standardnom dinamičkom opsegu (SDR).
    • Predložen je objedinjeni OnReceiveContentListener API za umetanje i premještanje proširenih tipova sadržaja (formatirani tekst, slike, video zapisi, audio datoteke, itd.) između aplikacija koristeći različite izvore podataka, uključujući međuspremnik, tastaturu i drag&drop interfejs.
    • Dodan je efekat taktilne povratne sprege, implementiran pomoću vibracionog motora ugrađenog u telefone, a frekvencija i intenzitet vibracije zavise od parametara trenutno izlaznog zvuka. Novi efekat vam omogućava da fizički osjetite zvuk i može se koristiti za dodavanje dodatnog realizma igrama i zvučnim programima.
    • U Immersive modu, u kojem se program prikazuje na cijelom ekranu sa skrivenim servisnim panelima, navigacija je pojednostavljena korištenjem kontrolnih pokreta. Na primjer, knjigama, videozapisima i fotografijama sada se može kretati jednim pokretom prevlačenja.
    • U sklopu projekta Mainline, koji vam omogućava ažuriranje pojedinačnih komponenti sistema bez ažuriranja cijele platforme, pripremljeni su novi sistemski moduli koji se mogu ažurirati pored 22 modula dostupna u Androidu 11. Ažuriranja utiču na komponente koje nisu vezane za hardver, koji se preuzimaju putem Google Play-a odvojeno od OTA ažuriranja firmvera od proizvođača. Među novim modulima koji se mogu ažurirati putem Google Playa bez ažuriranja firmvera su ART (Android Runtime) i modul za video transkodiranje.
    • Klasi WindowInsets dodat je API za određivanje položaja prikaza indikatora upotrebe kamere i mikrofona (indikatori se mogu preklapati sa kontrolama u programima postavljenim na cijeli ekran, a putem navedenog API-ja aplikacija može prilagoditi svoj interfejs).
    • Za centralno upravljane uređaje, dodana je opcija za sprečavanje upotrebe prekidača za utišavanje mikrofona i kamere.
    • Za CDM (Companion Device Manager) aplikacije koje rade u pozadini, a koje kontroliraju prateće uređaje kao što su pametni satovi i fitnes trackeri, moguće je pokrenuti usluge u prvom planu.
    • Umjesto izdanja za nosive uređaje, Android Wear, zajedno sa Samsungom, odlučio je razviti novu objedinjenu platformu koja kombinuje mogućnosti Androida i Tizen-a.
    • Proširene su mogućnosti Android izdanja za automobilske infotainment sisteme i pametne televizore.

    izvor: opennet.ru

  • Dodajte komentar