Компания Google представила вторую тестовую версию открытой мобильной платформы Android 12. Релиз Android 12 ожидается в третьем квартале 2021 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 3 / 3 XL, Pixel 3a / 3a XL, Pixel 4 / 4 XL, Pixel 4a / 4a 5G и Pixel 5. Для установивших первый тестовый выпуск предоставлено OTA-обновление.
Ключевые новшества Android 12:
- 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.

- 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.
- Добавлен новый API CompanionDeviceService, при помощи которого можно активировать приложения, управляющие сопутствующими устройствами, такими как умные часты и фитнес-трекеры. API решает проблему с запуском и соединением необходимых приложений при появлении поблизости сопутствующего устройства. Система активирует сервис при нахождении устройства поблизости и отправляет уведомление при отключении устройства или при входе или выходе устройства из области видимости. Приложения также могут использовать новый профиль сопутствующих устройств для упрощения настройки полномочий для присоединения к устройству.
- 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.
- 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.
- 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.
- Обновлено оформление интерфейса вывода уведомлений, который стал более простым и функциональным. Также обновлены и сделаны более плавными анимационные и переходные эффекты. К общему виду приведены уведомления с содержимым, заданным приложением.
- 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.
- 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.
- Turvalisus ja privaatsus.
- 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.
Allikas: opennet.ru


