Google'i ettevÔte avaldas avatud mobiilplatvormi Android 12 vÀljaande. Uue vÀljaande allikakoodid on saadaval projekti Git-repositooriumis (haru android-12.0.0_r1). Tarkvarauuendused on ette valmistatud Pixel-seeria seadmete, samuti Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo ja Xiaomi tootjate nutitelefonide jaoks. Lisaks on loodud universaalsed GSI (Generic System Images) kogumikud, mis sobivad erinevatele seadmetele, mis pÔhinevad ARM64 ja x86_64 arhitektuuridel.
Peamised uuendused:
- Olenemata sellest, on esitatud ĂŒks tĂ€htsamaid uuendusi kasutajaliidese kujunduses projekti ajaloos. Uus disain rakendab kontseptsiooni âMaterial Youâ, mis esitatakse kui jĂ€rgmise pĂ”lvkonna Material Design'i variant. Uus kontseptsioon rakendatakse automaatselt kĂ”igile platvormidele ja liidese elementidele ning see ei nĂ”ua arendajatelt rakenduste osas mingeid muudatusi. Juulis plaanitakse arendajatele anda vĂ€lja esimene stabiilne versioon uut graafiliste liideste arendustööriista â Jetpack Compose.

Platvormil on vĂ€lja töötatud uus vidinate kujundus. Vidinad on tehtud silmatorkavamaks, nurkade ĂŒmarust on suurendatud ning dĂŒnaamiliste vĂ€rvide kasutamise vĂ”imalus, mis vastab sĂŒsteemi kujundusteemale, on lisatud. Lisatud on interaktiivsed juhtimisseadmed, nagu kastid (CheckBox, Switch ja RadioButton), mis vĂ”imaldavad nĂ€iteks TODO vidinas redigeerida ĂŒlesannete nimekirju, avamata rakendust.

Rakendustele, mis kĂ€ivitatakse vidinatest, on rakendatud sujuvam visuaalne ĂŒleminek. Vidinate isikupĂ€rastamine on lihtsustatud â ekraanil vidina asukoha kiireks kohandamiseks on lisatud nupp (ring, mille sees on pliiats), mis ilmub siis, kui vidinat pikalt puudutatakse.


TĂ€psemad vidinate suuruse piirangud ja vidina elementide adaptiivse paigutuse (responsive layout) kasutamise vĂ”imalus on vĂ€lja toodud, et luua standardseid paigutusi, mis muutuvad vastavalt nĂ€htava ala suurusele (nĂ€iteks eraldiseisvate paigutuste loomine tahvelarvutite ja nutitelefonide jaoks). Vidinate valiku liideses (widget picker) on rakendatud dĂŒnaamiline eelvaade ja vĂ”imalus tĂ€iendava ĂŒlesande kirjeldamise kuvamiseks.

- Lisatud on vĂ”imalus automaatseks sĂŒsteemipaleedi kohandamiseks valitud taustpildi vĂ€rvi jĂ€rgi â sĂŒsteem mÀÀrab automaatselt valitsevad vĂ€rvid, kohandab praegust paleeti ja rakendab muudatused kĂ”ikidele liidese elementidele, sealhulgas teavitusalale, lukku ekraanile, vidinatele ja helitugevuse reguleerimisele.
- Tutvustatakse uusi animeeritud efekte, nagu sujuv suurendamine ja sujuv ala nihutamine kerimise, elementide ilmumise ja liikumise ajal ekraanil. NĂ€iteks lukku ekraanil teavituse tĂŒhistamine suurendab automaatselt kellaindikaatorit ja see vĂ”tab ruumi, mida teavituse jaoks varem kasutas.
- Teavituste ja kiirete seadistuste allalaadimise ala kujundus on ĂŒmber töötatud. Kiirete seadistuste hulka on lisatud vĂ”imalused Google Pay ja nutikodu haldamiseks. Toite nuppu hoidmisel on osutatud Google Assistantile, kellele saab anda korralduse helistada, avada rakenduse vĂ”i lugeda artiklit valjusti. Teavituste vĂ€limus on viidud vastavusse rakenduse mÀÀratud sisuga.

- Lisatud on kerimise piiri venituse efekt (Stretch overscroll), mis annab mĂ€rku, et kasutaja on kerimispiirist vĂ€ljas ja on jĂ”udnud sisu lĂ”puni. Uue efekti korral tundub, et sisu pildist venitatakse ja see hĂŒppab tagasi. Uus kerimise lĂ”pu indikaatori reĆŸiim on vaikimisi aktiveeritud, kuid seadetes on olemas vĂ”imalus vana kĂ€itumise taastamiseks.
- Kasutajaliidese optimeerimine on toimunud kokkuvolditavate ekraanidega seadmete jaoks.

- Rakendatud on sujuvamaid helisi ĂŒleminekuid â helitavate rakenduste vahel lĂŒlitades hajub esimese helireĆŸiim sujuvalt ja teise helitugevus tĂ”useb sujuvalt, ilma et ĂŒksteise peale kattuks.
- Uuendatud on vĂ”rguĂŒhenduste juhtimise kasutajaliidest kiirete seadistuste plokis, paneelis ja sĂŒsteemi konfigureerijas. Lisatud on uus Interneti paneel, mis vĂ”imaldab kiiresti vahetada erinevate teenusepakkujate vahel ja diagnoosida probleeme.

- Lisatud on vÔimalus luua ekraanipilte, mis hÔlmavad mitte ainult nÀhtavat ala, vaid ka sisu kerimise piirkonnas. VÔimalus salvestada nÀhtamatute alade sisu töötab kÔigis rakendustes, mis kasutavad vÀljundi klassi View. Keritavate ekraanipiltide toetamiseks spetsiifiliste liidesega programmides on pakkuda API ScrollCapture.

- Parandatud automaatse ekraani pööramise funktsiooni, mis kasutab nĂŒĂŒd esikaamera nĂ€otuvastust, et mÀÀrata, kas ekraani tuleb pöörata, nĂ€iteks kui inimene kasutab telefoni lamades. Privaatsuse tagamiseks töödeldakse teavet reaalajas ilma vahepealsete piltide salvestamiseta. See vĂ”imalus on praegu saadaval ainult Pixel 4 nutitelefonides ja uuemates mudelites.
- Parandatud pildi-pildis (PIP, Picture in Picture) reĆŸiimi ning sujuvust ĂŒleminekuefektide osas. Kui PIP-i automaatne ĂŒleminek on sisse lĂŒlitatud, siis rakendus minnakse kohe PIP-reĆŸiimi, kui ekraani alumist osa ĂŒles tĂ”mmatakse, ootamata animatsiooni lĂ”ppu. Parandatud on PIP-aken suuruse muutmine, kui sisu ei ole video. Lisatud on vĂ”imalus PIP-aken peita selle lohistamisega ekraani vasakule vĂ”i paremale servale. Muudetud on PIP-aknaga puudutamise kĂ€itumist â ĂŒhe puudutusega kuvatakse juhtnupud, samas kui kahekordne puudutus muuttaa akna suurust.
- Tehtud on mĂ€rkimisvÀÀrne sĂŒsteemi tĂ”hususe optimeerimine â kĂ”ikide pĂ”hiteenuste CPU koormus on vĂ€henenud 22%, mis omakorda on suurendanud aku kasutusaega 15%. Lockide konkurentsi vĂ€hendamise, viivituste lĂŒhendamise ja sisendi/vĂ€ljundi optimeerimise kaudu on paranenud rakenduste vaheline ĂŒleminek ja rakenduste kĂ€ivitamise aeg on lĂŒhenenud.
PackageManager'is lugemise reĆŸiimis tehtud snapshot'idega töötamisel on lukustuskonkurents vĂ€henenud 92%. Interprotsesside suhtluse mehhanismis Binder on kasutusele vĂ”etud kergkaalus vahemĂ€lu, mis on vĂ”imaldanud vĂ€hendada hilinemisi 47 korda teatud tĂŒĂŒpi kutsete puhul. On paranenud dex, odex ja vdex failide töötlemise jĂ”udlus, mis on lĂŒhendanud rakenduste laadimisaega, eriti seadmetel, millel on vĂ€he mĂ€lu. Rakenduste avamine teavitustest on kiirenenenud, nĂ€iteks Google Photosi kĂ€ivitamine teavitusest toimub nĂŒĂŒd 34% kiiremini.
Andmebaasi pÀringute jÔudlust on parendatud inline-optimeerimise abil CursorWindowi operatsioonis. VÀikeste andmemahtude puhul on CursorWindow kiirenenenud 36%, ning komplektide puhul, mis sisaldavad rohkem kui 1000 rida, vÔib kiirus kuni 49 korda.
Esitatud on kriteeriumid seadmete klassifitseerimiseks jÔudluse alusel. Seadme vÔimaluste pÔhjal mÀÀratakse sellele jÔudlusklass, mida saab hiljem rakendustes kasutada kodekivÔimekuse piiramiseks madala jÔudlusega seadmetes vÔi kÔrgema kvaliteediga meedia töötlemiseks vÔimsamal seadmel.
- On rakendatud rakenduste hibernaatsioonireĆŸiim, mis vĂ”imaldab, kui kasutaja ei ole pikka aega rakendusega selgelt suhelnud, automaatselt tĂŒhistada rakendusele antud Ă”igused, peatada selle töö, tagastada rakenduse kasutuses olnud ressursid, nagu mĂ€lu, ja blokeerida tausttööde kĂ€ivitamine ning push-teadete saatmine. ReĆŸiimi saab rakendada enamiku rakenduste jaoks ja see kaitseb kasutaja andmeid, kuhu kaugele unustatud programmid endiselt pÀÀsevad. Soovi korral saab hibernaatsioonireĆŸiimi seadetes valikuliselt vĂ€lja lĂŒlitada.
- Ekraani pööramisel on animatsioon optimeeritud, mistÔttu on pöörde eelnev hilinevus vÀhenenud umbes 25%.
- Komplekti on lisatud uus kĂ”rge jĂ”udlusega otsingumootor AppSearch, mis vĂ”imaldab seadmes teabe indeksimist ja tĂ€istekstiotsingut tulemuste reastamisega. AppSearch pakub kahte tĂŒĂŒpi indekseid â ĂŒhe rakenduste vahelise otsingu korraldamiseks ja teise kogu sĂŒsteemi vahelise otsingu jaoks.
- Lisatud Game Mode API ja vastavad seaded, mis vĂ”imaldavad mĂ€ngu jĂ”udlusprofiili haldamist â nĂ€iteks saab jĂ”udluse pikendamiseks ohverdada ressursse vĂ”i kasutada kĂ”iki saadaolevaid ressursse maksimaalse FPS saavutamiseks.
- Lisatud play-as-you-download funktsioon, mis vÔimaldab mÀngu ressursse taustal alla laadida installimise ajal, et alustada mÀngimist enne allalaadimise lÔpetamist.
- Parandatud reageerimisvĂ”imet ja kiirus mĂ€rguannetega töötamisel. NĂ€iteks toimub nĂŒĂŒd, kui kasutaja puudutab mĂ€rguannet, kohene ĂŒleminek selle rakendusega. Rakendustes on piiratud vahepealsete mĂ€rguannehaldurite kasutamine (notification trampoline).
- Optimeeritud IPC-kĂ”nesid Binderis. Uue vahemĂ€lu strateegia rakendamise ja lukustuste konfliktide kĂ”rvaldamise tĂ”ttu on edasi lĂŒkatud viivitusi saadud mĂ€rkimisvÀÀrset vĂ€hendamist. Ăldiselt on Binderi kĂ”nede jĂ”udlus kahekordistunud, kuid mĂ”nedes valdkondades on saavutatud veelgi suurem kiirus. NĂ€iteks on refContentProvider() kĂ”ne saanud 47 korda kiirem, releaseWakeLock() 15 korda ja JobScheduler.schedule() 7.9 korda.
- Kuna on vajadus vĂ€ltida rakendustes jĂ”udlusprobleemide vĂ”imalikke tekkimisi, on taustatöös lubatud kĂ€ivitamine prioriteetsetes teenustes (foreground service) piiratud, vĂ€lja arvatud mĂ”nedes erijuhtudel. Taustal töötamiseks on soovitatav kasutada WorkManagerit. Ălemineku lihtsustamiseks on JobScheduleris ette nĂ€htud uus tööde tĂŒĂŒp, mis kĂ€ivitub kohe, omab kĂ”rgendatud prioriteeti ja juurdepÀÀsu vĂ”rgule.
- Rakendatud Privacy Dashboardi liides, mis annab ĂŒlevaate kĂ”ikidest Ă”iguste seadetest, vĂ”imaldades mĂ”ista, millistele kasutaja andmetele rakendustel juurdepÀÀs on. Liideses on saadaval ka ajaskaala, mis visualiseerib rakenduste juurdepÀÀsu ajaloo mikrofonile, kaamerale ja asukohaandmetele. Iga rakenduse kohta on vĂ”imalik vaadata ĂŒksikasju ja pĂ”hjuseid, miks privaatsusandmetele juurde pÀÀseb.

- Paneeli on lisandunud mikrofonide ja kaamerate tegevuse indikaatorid, mis ilmuvad, kui rakendus kasutab kaamerat vÔi mikrofon. Indikaatorite klikkimisel avatakse dialooge, kus on vÔimalik mÀÀrata, milline rakendus töötab kaamera vÔi mikrofoniga, ja vajadusel volitused tagasi vÔtta.
- KiirmenĂŒĂŒ hĂŒpikaknasse on lisatud lĂŒlitid, mille abil on vĂ”imalik sunniviisiliselt mikrofon ja kaamera vĂ€lja lĂŒlitada. PĂ€rast vĂ€ljalĂŒlitamist toovad igasugused katsetused kaamera ja mikrofoniga ĂŒhenduse loomise korral vĂ€lja teate ning saadavad rakendusele tĂŒhjad andmed.

- Lisatud on uus teade, mis kuvatakse ekraani allosas iga kord, kui rakendus proovib lugeda lÔikelauas olevat sisu funktsiooni getPrimaryClip() abil. Kui lÔikelauas olev sisu kopeeritakse samas rakenduses, kuhu see lisati, ei kuvata teadet.
- Lisatud on eraldi BLUETOOTH_SCAN volitus lÀhiste seadmete skaneerimiseks Bluetoothi kaudu. Varem anti see vÔimalus vÀlja juurdepÀÀsu korral seadme asukoha teabele, mis nÔudis rakendustelt, mis vajavad seadme Bluetoothiga sidumist, lisavolituste andmist.
- Seadme asukoha teabe andmise dialoog on uuendatud. Kasutajale antakse nĂŒĂŒd vĂ”imalus edastada rakendusele tĂ€pne asukoha info vĂ”i anda vaid umbmÀÀrased andmed, samuti piirata volituste kehtivust ainult aktiivse seansi jooksul (keelata juurdepÀÀs taustal töötades). UmbmÀÀrase asukoha andmete tĂ€psuse taset saab seadetes muuta, sealhulgas seondudes eraldi rakendustega.

- Rakenduse arendajatele on antud vĂ”imalus sulgeda hĂŒpikaknad, mis kattuvad sisu ĂŒle. Varem reguleeriti kattuvate akende kuvamise vĂ”imalust volituste taotluse kaudu, mis kinnitati rakenduste installimise ajal, mis kuvavad kattuvaid aknaid. Pole olnud tööriistu, mis vĂ”imaldavad mĂ”jutada sisu kattumist rakendustest, mille aknad kattuvad. Kui kutsuda esile Window#setHideOverlayWindows(), siis kĂ”ik kattuvad aknad peidetakse nĂŒĂŒd automaatselt. NĂ€iteks vĂ”ib peitmine aktiveerida, kui kuvatakse olulist teavet, nagu tehingu kinnitamine.
- Rakendustele on antud tĂ€iendavad sĂ€tted ekraani lukustamise ajal teavituste toimingute piiramiseks. Varem oli vĂ”imalus hallata teavituste nĂ€htavust lukustamise ajal, kuid nĂŒĂŒd saab nĂ”uda kohustuslikku autentimist, et teha mis tahes toiminguid teavitustega lukustamise ajal. NĂ€iteks vĂ”ib sĂ”numirakendus nĂ”uda autentimist, enne kui sĂ”numit kustutatakse vĂ”i loetakse loetuks.
- Lisatud API PackageManager.requestChecksums(), et kĂŒsida ja kontrollida installitud rakenduse kontrollsummat. Toetatakse selliseid algoritme nagu SHA256, SHA512 ja Merkle Root.
- Veebimootoris WebView on rakendatud SameSite atribuut, et hallata kĂŒpsiste töötlemist. VÀÀrtus "SameSite=Lax" piirab kĂŒpsiste saatmist kolmanda osapoole alamsaadeteks, nagu pildi pĂ€ring vĂ”i sisu laadimine iframe'i kaudu teiselt veebisaidilt. ReĆŸiimis "SameSite=Strict" ei saadeta kĂŒpsiseid mis tahes tĂŒĂŒpi kolmanda osapoole pĂ€ringute jaoks, sealhulgas kĂ”ik vĂ€liste veebisaitide sissetulevad lingid.
- Tööd on jĂ€tkatud seadme jĂ€lgimise vĂ€listamiseks MAC-aadresside randomiseerimise osas, kui ĂŒhenduvad traadita vĂ”rku. Privilegeeritud rakenduste jaoks on juurdepÀÀs seadme MAC-aadressile piiratud ja funktsiooni getHardwareAddress() kutsumise puhul tagastatakse nĂŒĂŒd tĂŒhi vÀÀrtus.
- Lisatud on vĂ”imalus kohandada liidese elemente seadmetele, millel on ĂŒmarad ekraanid. Arendajad saavad nĂŒĂŒd teavet ekraani ĂŒmarduste kohta ja saavad kohandada liidese elemente, mis asuvad nĂ€htamatutes nurkades. Uue API RoundedCorner abil on vĂ”imalik saada selliseid parameetreid nagu raadius ja ĂŒmarduse keskus, ning API-de Display.getRoundedCorner() ja WindowInsets.getRoundedCorner() abil mÀÀrata iga ĂŒmardatud ekraaninurga koordinaadid.

- Lisatud on uus API CompanionDeviceService, mille abil on vĂ”imalik aktiveerida rakendusi, mis haldavad kaasnevaid seadmeid, nĂ€iteks nutikellasid ja treeningu jĂ€lgijad. API lahendab probleemi rakenduste kĂ€ivitamise ja ĂŒhendamisega, kui kaasnevad seadmed lĂ€hevad lĂ€hedale. SĂŒsteem aktiveerib teenuse kaasneva seadme leidmisel ja saadab teate seadme vĂ€ljalĂŒlitamisel vĂ”i kui seade siseneb vĂ”i lahkub nĂ€htavusest. Rakendused saavad samuti kasutada uut kaasneva seadme profiili, et lihtsustada seadme ĂŒhendamiseks vajalike Ă”iguste seadistamist.
- Parandatud on lĂ€bilaskevĂ”ime prognoosimise sĂŒsteemi. Rakendused saavad nĂŒĂŒd kĂŒsida teavet prognoositud kogulĂ€bilaskevĂ”ime kohta, mis on seotud operaatoriga, konkreetse traadita vĂ”rgu (Wi-Fi SSID), vĂ”rgu tĂŒĂŒbiga ja signaali tasemega.
- Lihtsustatud on tĂŒĂŒpiliste visuaalefektide, nagu hĂ€gustamine ja vĂ€rvide moonutamine, rakendamine, mida saab nĂŒĂŒd API RenderEffect abil rakendada mistahes RenderNode objekti vĂ”i kogu nĂ€htava ala peal, sealhulgas teiste efektide ahelas. Antud vĂ”imalus vĂ”imaldab nĂ€iteks hĂ€gustada pilti, mis on vĂ€lja antud lĂ€bi ImageView, ilma et oleks vaja eraldi kopeerida, töödelda ja asendada bitmap'i, viies need toimingud platvormi poole. Lisaks on pakutud API Window.setBackgroundBlurRadius(), millega on vĂ”imalik hĂ€gustada akna tausta mattklaasi efektiga ja rĂ”hutada sĂŒgavust, hĂ€gustades akna ĂŒmbritsevat ruumi.

- Integreeritud on multimeedia voogude uuendamiseks mĂ”eldud vahendid, mida saab kasutada kaamerarakendustes, mis salvestavad HEVC formaadis video, tagades ĂŒhilduvuse rakendustega, mis seda formaati ei toeta. Selliste rakenduste jaoks on lisatud funktsioon automaatseks uuendamiseks laiemalt levinud AVC formaati.
- Toetatakse AVIF (AV1 Image Format) pildifailide formaati, mis kasutab videote kodeerimise AV1 formaadi sisemist kokkusurumist. AVIF kompressitud andmete konteiner on tĂ€iesti analoogne HEIF-iga. AVIF toetab nii HDR (High Dynamic Range) ja laiendatud vĂ€rvigamma pilte kui ka standardse dĂŒnaamilise vahemiku (SDR) pilte.
- Pakutakse ĂŒhtset API-d OnReceiveContentListener, et sisestada ja liikuda rakenduste vahel laiendatud sisutĂŒĂŒpide (formaaditud tekst, pildid, videod, helifailid jne) kaudu, kasutades erinevaid andmeallikaid, sealhulgas lĂ”ikepuhvrit, klaviatuuri ja lohista & vabasta liidest.
- Kasutusele on vĂ”etud efekt, mis vĂ”imaldab telefonidesse inteeritud vibromootori abil anda taktiilset tagasisidet, mille sagedus ja intensiivsus sĂ”ltuvad hetkel vĂ€ljundis olevast helist. Uus efekt vĂ”imaldab fĂŒĂŒsiliselt tunnetada helisid ning seda saab kasutada mĂ€ngude ja helirakenduste tĂ€iendava realistlikkuse andmiseks.
- Kaugtasandi reĆŸiimis (Immersive mode), kus rakendus kuvatakse tĂ€isekraanil koos teeninduspaneelide peitmisega, on juhiste kaudu navigatsioon lihtsustatud. NĂ€iteks raamatute lugemise, videote vaatamise ja fotode töötlemise rakendustes saab nĂŒĂŒd liikuda ĂŒhe libistamise ĆŸestiga.
- Mainline projekti raames, mis vĂ”imaldab eraldi sĂŒsteemi komponente uuendada ilma kogu platvormi uuendamata, on ette valmistatud uued uuendatavad sĂŒsteemi moodulid lisaks 22 moodulile, mis on saadaval Android 11-s. Uuendused puudutavad riistvarast sĂ”ltumatuid komponente, mis laaditakse Google Play kaudu eraldi tootja OTA uuendustest. Uute moodulite hulka, mis saavad uuendusi Google Play kaudu ilma tarkvara uuendamata, kuuluvad ART (Android Runtime) ja video uuendamise moodul.
- Klassi WindowInsets on lisatud API, mis mÀÀrab kaamera ja mikrofoni kasutamise indikaatorite kuvamise positsiooni (indikaatorid vÔivad kattuda tÀielikult ekraanile laiendatud rakenduste juhtnuppudega ja selle API kaudu saab rakendus kohandada oma kasutajaliidest).
- Keskhaldatud seadmete jaoks on lisatud vĂ”imalus keelata mikrofoni ja kaamera vĂ€ljalĂŒlitamise lĂŒlitite kasutamine.
- Taustal töötavate CDM-rakenduste (Companion Device Manager), mis haldavad kaasnevaid seadmeid nagu nutikellad ja aktiivsusmonitorid, dĂŒnaamiliste teenuste kĂ€ivitamise vĂ”imalust.
- Android Weari kantavate seadmete redigeerimise asemel koos Samsungiga on otsustatud arendada uut ĂŒhtset platvormi, mis kombineerib Androidi ja Tizeni vĂ”imed.
- Androidi redigeerimise vĂ”imalused on laiendatud autode multimeedia sĂŒsteemide ja nutitelerite jaoks.
Allikas: opennet.ru














