Google har slÀppt en öppen mobilplattform. Android KÀllkoden för den nya utgÄvan har placerats i projektets Git-repository (branch android-12.0.0_r1). Firmware-uppdateringar finns tillgÀngliga för Pixel-enheter, sÄvÀl som smartphones frÄn Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo och Xiaomi. Dessutom har universella GSI-versioner (Generic System Images) skapats, lÀmpliga för olika enheter baserade pÄ ARM64- och x86_64-arkitekturerna.
Huvudsakliga innovationer:
- En av de viktigaste uppdateringarna av grÀnssnittsdesignen i projektets historia har föreslagits. Den nya designen implementerar konceptet "Material You", som presenteras som nÀsta generations version av Material Design. Det nya konceptet kommer automatiskt att tillÀmpas pÄ alla plattformar och grÀnssnittselement och kommer inte att krÀva att applikationsutvecklare gör nÄgra Àndringar. I juli Àr applikationsutvecklare planerade att fÄ den första stabila versionen av den nya verktygslÄdan för utveckling av grafiska grÀnssnitt, Jetpack Compose.

Plattformen i sig har en ny widgetdesign. Widgetarna Àr nu mer synliga, hörnen Àr rundade och dynamiska fÀrger kan anvÀndas för att matcha systemets tema. Interaktiva kontroller som kryssrutor och vÀxlar (CheckBox, Switch och RadioButton) har lagts till, vilket gör att du kan redigera aktivitetslistor i TODO-widgeten utan att öppna appen.

En smidigare visuell övergÄng till applikationer som startas frÄn widgetar har implementerats. Widget-anpassning har förenklats - en knapp (en cirkel med en penna) har lagts till för att snabbt konfigurera om widgetens placering pÄ skÀrmen, vilken visas nÀr du trycker lÀnge pÄ widgeten.


Ytterligare lÀgen för begrÀnsning av widgetstorlek och möjligheten att anvÀnda responsiv layout för widgetelement för att skapa standardlayouter som Àndras beroende pÄ storleken pÄ det synliga omrÄdet (till exempel kan du skapa separata layouter för surfplattor och smartphones) tillhandahÄlls. WidgetvÀljargrÀnssnittet implementerar en dynamisk förhandsgranskning och möjligheten att visa en widgetbeskrivning.

- Lade till möjligheten att automatiskt anpassa systempaletten till fÀrgen pÄ den valda bakgrundsbilden - systemet identifierar automatiskt de dominerande fÀrgerna, justerar den aktuella paletten och tillÀmpar Àndringar pÄ alla grÀnssnittselement, inklusive meddelandefÀltet, lÄsskÀrmen, widgetar och volymkontroll.
- Nya animerade effekter har implementerats, sÄsom gradvis zoomning och smidig förskjutning av omrÄden nÀr du skrollar, visar och flyttar element pÄ skÀrmen. Till exempel, nÀr du stÀnger en avisering pÄ lÄsskÀrmen ökar tidsindikatorn automatiskt och upptar det utrymme som tidigare upptogs av aviseringen.
- Designen pÄ rullgardinsmenyn med aviseringar och snabbinstÀllningar har omdesignats. Alternativ för Google Pay och smart hemstyrning har lagts till i snabbinstÀllningarna. Genom att hÄlla nere strömknappen ringer Google Assistant, som kan fÄ kommandot att ringa ett samtal, ringa en app eller lÀsa en artikel högt. Aviseringar med innehÄll som anges av appen har lagts till i den allmÀnna vyn.

- Lade till effekten att strÀcka ut rullningskanterna (Stretch overscroll), vilket gör det tydligt att anvÀndaren har gÄtt utanför rullningsomrÄdet och nÄtt slutet av innehÄllet. Bilden av innehÄllet med den nya effekten verkar strÀckas ut och fjÀdra tillbaka. Det nya lÀget för att indikera slutet av rullningen Àr aktiverat som standard, men det finns ett alternativ i instÀllningarna för att ÄtergÄ till det gamla beteendet.
- Optimerat grÀnssnitt för enheter med vikbara skÀrmar.

- JĂ€mnare ljudövergĂ„ngar har implementerats â nĂ€r man vĂ€xlar frĂ„n en applikation som matar ut ljud till en annan tonas ljudet frĂ„n den första nu smidigt ut, och ljudet frĂ„n den andra ökar smidigt, utan att ett ljud överlappar det andra.
- GrÀnssnittet för att hantera nÀtverksanslutningar i snabbinstÀllningsblocket, panelen och systemkonfiguratorn har moderniserats. En ny internetpanel har lagts till, vilket gör att du snabbt kan vÀxla mellan olika leverantörer och diagnostisera problem.

- Lade till möjligheten att skapa skÀrmdumpar som tÀcker inte bara det synliga omrÄdet, utan Àven innehÄllet i rullningsomrÄdet. Möjligheten att hÄlla innehÄll utanför det synliga omrÄdet fungerar för alla applikationer som anvÀnder klassen View för utdata. För att implementera stöd för rullning av skÀrmdumpar i program som anvÀnder specifika grÀnssnitt har ScrollCapture API föreslagits.

- Funktionen för automatisk rotering av skÀrminnehÄll har förbÀttrats, som nu kan anvÀnda ansiktsigenkÀnning frÄn den frÀmre kameran för att avgöra om skÀrmen behöver roteras, till exempel nÀr en person anvÀnder telefonen liggandes. För att sÀkerstÀlla konfidentialitet behandlas information i farten utan mellanlagring av bilder. Funktionen Àr för nÀrvarande endast tillgÀnglig pÄ Pixel 4 och nyare smartphones.
- Bild-i-bild-lĂ€get (PIP) har förbĂ€ttrats och övergĂ„ngseffekterna har gjorts smidigare. Om automatisk övergĂ„ng till PIP Ă€r aktiverad med gesten "upp till startsidan" (att skjuta skĂ€rmens nederkant uppĂ„t) vĂ€xlar applikationen nu omedelbart till PIP-lĂ€ge utan att vĂ€nta pĂ„ att animeringen ska slutföras. StorleksĂ€ndring av PIP-fönster med annat innehĂ„ll Ă€n video har förbĂ€ttrats. Möjligheten att dölja ett PIP-fönster genom att dra det till skĂ€rmens vĂ€nstra eller högra kant har lagts till. Beteendet vid tryckning pĂ„ ett PIP-fönster har Ă€ndrats â en enda tryckning visar nu kontrollknapparna och en dubbel tryckning Ă€ndrar fönstrets storlek.
- Betydande optimering av systemprestanda genomfördes - belastningen pÄ processorn för de huvudsakliga systemtjÀnsterna minskade med 22 %, vilket i sin tur ledde till en ökning av batteritiden med 15 %. Tack vare minskad lÄskonflikt, minskade fördröjningar och optimering av in-/utdata ökade prestandan för att vÀxla frÄn en applikation till en annan och tiden för applikationsstart minskade.
I PackageManager har lÄskonflikter minskats med 92 % vid arbete med ögonblicksbilder i skrivskyddat lÀge. Binders kommunikationsmekanism mellan processer anvÀnder lÀtt cachelagring, vilket har minskat latensen med 47 gÄnger för vissa typer av anrop. Prestandan för dex-, odex- och vdex-filbehandling har förbÀttrats, vilket har lett till en minskning av appladdningstiden, sÀrskilt pÄ enheter med lÄgt minne. Att starta appar frÄn aviseringar har accelererats, till exempel Àr det nu 34 % snabbare att starta Google Foto frÄn en avisering.
FörbĂ€ttrad prestanda för databasfrĂ„gor genom att anvĂ€nda inline-optimeringar i CursorWindow-operationen. För smĂ„ datavolymer har CursorWindow blivit 36 ââ% snabbare, och för uppsĂ€ttningar som innehĂ„ller mer Ă€n 1000 rader kan accelerationen nĂ„ upp till 49 gĂ„nger.
Kriterier för att klassificera enheter efter prestanda föreslÄs. Beroende pÄ enhetens kapacitet tilldelas den en prestandaklass, som sedan kan anvÀndas i applikationer för att begrÀnsa funktionaliteten hos codecs pÄ enheter med lÄg strömförbrukning eller för att arbeta med multimediainnehÄll av högre kvalitet pÄ kraftfull utrustning.
- Implementerat programvilolÀge, vilket gör det möjligt att automatiskt ÄterstÀlla tidigare beviljade programbehörigheter, stoppa körningen, ÄterstÀlla resurser som anvÀnds av programmet, sÄsom minne, och blockera start av bakgrundsarbete och sÀndning av push-meddelanden om anvÀndaren inte har interagerat med programmet pÄ lÀnge. LÀget kan anvÀndas för de flesta program och lÄter dig skydda anvÀndardata som sedan lÀnge bortglömda program fortsÀtter att ha Ätkomst till. Om sÄ önskas kan vilolÀget selektivt inaktiveras i instÀllningarna.
- Animationen vid rotation av skÀrmen har optimerats, vilket minskar fördröjningen före rotation med cirka 25 %.
- Den nya högpresterande sökmotorn AppSearch ingĂ„r, vilket gör att du kan indexera information pĂ„ enheten och utföra fulltextsökning med rangordning av resultaten. AppSearch erbjuder tvĂ„ typer av index â för att organisera sökningar i enskilda applikationer och för att söka i hela systemet.
- Lade till Game Mode API och motsvarande instĂ€llningar som gör att du kan hantera spelets prestandaprofil â till exempel kan du offra prestanda för att förlĂ€nga batteritiden eller anvĂ€nda alla tillgĂ€ngliga resurser för att uppnĂ„ maximal FPS.
- Lade till funktionen "spela upp medan du laddar ner" för att ladda ner spelresurser i bakgrunden under installationen, sÄ att du kan börja spela redan innan appen har laddats ner klart.
- FörbÀttrad respons och reaktionshastighet vid arbete med aviseringar. Till exempel, nÀr anvÀndaren trycker pÄ en avisering sker nu en omedelbar övergÄng till den associerade appen. Appar har begrÀnsad anvÀndning av aviseringstrampoliner.
- IPC-anrop i Binder har optimerats. Genom att anvÀnda en ny cachningsstrategi och eliminera konflikter under lÄsningar kunde vi minska fördröjningarna avsevÀrt. Generellt sett har prestandan för Binder-anrop ökat ungefÀr fördubblats, men inom vissa omrÄden kunde vi uppnÄ Ànnu mer betydande acceleration. Till exempel blev anropet refContentProvider() 47 gÄnger snabbare, releaseWakeLock() 15 gÄnger snabbare och JobScheduler.schedule() 7.9 gÄnger snabbare.
- För att förhindra potentiella prestandaproblem Àr det förbjudet för applikationer att köra förgrundstjÀnster medan de körs i bakgrunden, med nÄgra fÄ sÀrskilda undantag. Det rekommenderas att anvÀnda WorkManager för att köra jobb i bakgrunden. För att förenkla övergÄngen föreslÄs en ny typ av jobb i JobScheduler, som startar omedelbart, har ökad prioritet och har nÀtverksÄtkomst.
- GrÀnssnittet för integritetsöversikten har implementerats med en allmÀn översikt över alla behörighetsinstÀllningar, vilket gör att du kan förstÄ vilka anvÀndardata appar har Ätkomst till. GrÀnssnittet innehÄller ocksÄ en tidslinje som visualiserar historiken över appens Ätkomst till mikrofon-, kamera- och platsdata. För varje app kan du se detaljer och orsaker till Ätkomst till konfidentiell data.

- Indikatorer för mikrofon- och kameraaktivitet har lagts till i panelen och visas nÀr ett program anvÀnder kameran eller mikrofonen. Genom att klicka pÄ indikatorerna öppnas en instÀllningsdialogruta som lÄter dig avgöra vilket program som fungerar med kameran eller mikrofonen och Äterkalla behörigheter om det behövs.
- Knappar har lagts till i popup-fönstret för snabbinstÀllningar, med vilka du kan stÀnga av mikrofonen och kameran med tvÄng. Efter avstÀngning kommer försök att komma Ät kameran och mikrofonen att resultera i att en avisering visas och tomma data överförs till appen.

- Lade till en ny avisering som visas lÀngst ner pÄ skÀrmen nÀr ett program försöker lÀsa innehÄllet i urklippet genom att anropa funktionen getPrimaryClip(). Om innehÄllet i urklippet kopieras i samma program som det lades till visas inte aviseringen.
- Lade till en separat BLUETOOTH_SCAN-behörighet för att skanna enheter i nÀrheten via Bluetooth. Tidigare beviljades denna funktion med Ätkomst till enhetens platsinformation, vilket krÀvde ytterligare behörigheter för appar som krÀvde parkoppling med en annan enhet via Bluetooth.
- Dialogrutan för att bevilja Ätkomst till enhetens platsinformation har moderniserats. AnvÀndaren fÄr nu möjlighet att överföra exakt platsinformation till applikationen eller endast tillhandahÄlla ungefÀrlig data, samt begrÀnsa giltigheten av behörigheter till endast den aktiva sessionen dÀr programmet anvÀnds (neka Ätkomst i bakgrunden). NoggrannhetsnivÄn för de data som anges nÀr en ungefÀrlig plats vÀljs kan Àndras i instÀllningarna, inklusive i förhÄllande till enskilda applikationer.

- Programutvecklare kan nu inaktivera popup-aviseringsfönster som överlappar innehÄll. Tidigare styrdes möjligheten att visa överlappande fönster av en behörighetsbegÀran som bekrÀftades under installationen av program som visade överlappande fönster. Det fanns inga verktyg för att kontrollera om innehÄll överlappade av program vars fönster överlappade. NÀr man anvÀnder Window#setHideOverlay-anropetWindows() Alla fönster som överlappar innehÄll kommer nu att döljas automatiskt. Till exempel kan döljning aktiveras nÀr sÀrskilt viktig information visas, till exempel en transaktionsbekrÀftelse.
- Appar har ytterligare instÀllningar för att begrÀnsa vad de kan göra med aviseringar medan skÀrmen Àr lÄst. Tidigare kunde du bara styra om aviseringar var synliga medan skÀrmen var lÄst, men nu kan du krÀva autentisering för att utföra ÄtgÀrder med aviseringar medan skÀrmen Àr lÄst. Till exempel kan en meddelandeapp krÀva autentisering innan ett meddelande tas bort eller markeras som lÀst.
- Lade till PackageManager.requestChecksums() API för att begÀra och verifiera kontrollsumman för en installerad applikation. Algoritmer som stöds inkluderar SHA256, SHA512 och Merkle Root.
- WebView-webbmotorn har implementerat möjligheten att anvÀnda SameSite-attributet för att styra hanteringen av cookies. VÀrdet "SameSite=Lax" begrÀnsar möjligheten att skicka cookies för webbplatsöverskridande delförfrÄgningar, till exempel att begÀra en bild eller ladda innehÄll via en iframe frÄn en annan webbplats. I lÀget "SameSite=Strict" skickas inte cookies för nÄgon form av webbplatsöverskridande förfrÄgningar, inklusive alla inkommande lÀnkar frÄn externa webbplatser.
- Fortsatt arbete med att slumpmÀssigt vÀlja ut MAC-adresser för att förhindra att enheten spÄras nÀr den Àr ansluten till ett trÄdlöst nÀtverk. Obehöriga applikationer har begrÀnsad Ätkomst till enhetens MAC-adress, och anrop av funktionen getHardwareAddress() returnerar nu ett tomt vÀrde.
- Lade till möjligheten att anpassa grÀnssnittselement till enheter med rundade skÀrmar. Utvecklare kan nu fÄ information om skÀrmrundningar och justera grÀnssnittselement som hamnar pÄ osynliga hörnomrÄden. Det nya RoundedCorner API:et kan anvÀndas för att ta reda pÄ parametrar som radie och centrum för rundningen, och Display.getRoundedCorner() och WindowInsets.getRoundedCorner() kan anvÀndas för att bestÀmma koordinaterna för varje rundat hörn pÄ skÀrmen.

- Ett nytt CompanionDeviceService API har lagts till för att möjliggöra appar som hanterar tillhörande enheter, sÄsom smartklockor och fitnesstrackers. API:et ÄtgÀrdar problemet med att starta och ansluta nödvÀndiga appar nÀr en tillhörande enhet visas i nÀrheten. Systemet aktiverar tjÀnsten nÀr enheten Àr i nÀrheten och skickar ett meddelande nÀr enheten kopplas bort eller nÀr enheten kommer in i eller lÀmnar synlighetsomrÄdet. Appar kan ocksÄ anvÀnda en ny profil för tillhörande enheter för att förenkla instÀllningen av behörigheter för att ansluta till en enhet.
- FörbÀttrat system för dataflödesprognos. Appar kan nu begÀra information om den förvÀntade totala dataflödeshastigheten baserat pÄ operatör, specifikt trÄdlöst nÀtverk (Wi-Fi SSID), nÀtverkstyp och signalstyrka.
- AnvÀndningen av vanliga visuella effekter som oskÀrpa och fÀrgförvrÀngning har förenklats och kan nu tillÀmpas med RenderEffect API pÄ vilket RenderNode-objekt som helst eller hela det synliga omrÄdet, inklusive i en kedja med andra effekter. Till exempel tillÄter den hÀr funktionen att sudda ut en bild via en ImageView utan att explicit kopiera, bearbeta och ersÀtta bitmappen, vilket flyttar dessa ÄtgÀrder till plattformssidan. Dessutom har Window.setBackgroundBlurRadius() API föreslagits, vilket kan anvÀndas för att sudda ut fönsterbakgrunden med en frostad glaseffekt och markera djup genom att sudda ut utrymmet runt fönstret.

- Integrerade verktyg för att omkoda multimediaströmmar som kan anvÀndas i miljöer med en kameraapplikation som sparar video i HEVC-format för att sÀkerstÀlla kompatibilitet med applikationer som inte stöder detta format. För sÄdana applikationer har en automatisk omkodningsfunktion till det vanligare AVC-formatet lagts till.
- Lade till stöd för bildformatet AVIF (AV1 Image Format), som anvÀnder intra-frame-komprimeringstekniker frÄn videokodningsformatet AV1. BehÄllaren för att distribuera komprimerad data i AVIF Àr helt analog med HEIF. AVIF stöder bÄde HDR (High Dynamic Range) och Wide-gamut-fÀrgrymdsbilder, samt SDR-bilder (Standard Dynamic Range).
- Ett enhetligt API, OnReceiveContentListener, föreslÄs för att infoga och flytta rikt innehÄll (formaterad text, bilder, video, ljudfiler etc.) mellan applikationer med hjÀlp av olika datakÀllor, inklusive urklipp, tangentbord och dra-och-slÀpp-grÀnssnitt.
- En taktil feedback-effekt har lagts till, implementerad med hjÀlp av en vibrationsmotor inbyggd i telefoner, vars frekvens och intensitet beror pÄ parametrarna för det ljud som just nu matas ut. Den nya effekten lÄter dig fysiskt kÀnna ljudet och kan anvÀndas för att ge spel och ljudprogram ytterligare realism.
- Immersivt lÀge, dÀr programmet visas pÄ hela skÀrmen med dolda servicepaneler, har förenklat navigeringen med hjÀlp av kontrollgester. Till exempel, i program för att lÀsa böcker, titta pÄ videor och arbeta med foton kan du nu navigera med en enda svepgest.
- Som en del av Mainline-projektet, som möjliggör uppdatering av enskilda systemkomponenter utan att uppdatera hela plattformen, har nya uppdateringsbara systemmoduler förberetts utöver de 22 moduler som finns i Android 11. Uppdateringarna pÄverkar komponenter som inte Àr knutna till hÄrdvaran, vilka laddas ner via Google Play separat frÄn tillverkarens OTA-firmwareuppdateringar. Bland de nya modulerna som kan uppdateras via Google Play utan att uppdatera firmware finns ART (Android Runtime) och en videotranskodningsmodul.
- Ett API har lagts till WindowInsets-klassen för att bestÀmma visningspositionen för kamera- och mikrofonanvÀndningsindikatorer (indikatorer kan överlappa kontroller i program som distribueras till helskÀrm, och genom det specificerade API:et kan applikationen justera sitt grÀnssnitt).
- För centralt hanterade enheter har ett alternativ lagts till för att förhindra anvÀndning av switchar för att stÀnga av mikrofonen och kameran.
- För CDM-applikationer (Companion Device Manager) som körs i bakgrunden och som styr medföljande enheter som smarta klockor och trÀningsspÄrare, Àr det möjligt att lansera förgrundstjÀnster.
- IstÀllet för en ledare för bÀrbara enheter Android Wear har tillsammans med Samsung beslutat att utveckla en ny enhetlig plattform som kombinerar funktionerna Android och Tizen.
- Utökade redaktionella möjligheter Android för bilars infotainmentsystem och smarta TV-apparater.
KĂ€lla: opennet.ru














