Utgivelse av Android 12 mobilplattform

Google har publisert utgivelsen av den åpne mobilplattformen Android 12. Kildetekstene knyttet til den nye utgivelsen er lagt ut i prosjektets Git-repository (branch android-12.0.0_r1). Fastvareoppdateringer er forberedt for enheter i Pixel-serien, så vel som for smarttelefoner produsert av Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo og Xiaomi. I tillegg er det laget universelle GSI-sammenstillinger (Generic System Images), egnet for ulike enheter basert på ARM64- og x86_64-arkitekturer.

Hovedinnovasjoner:

  • En av de viktigste oppdateringene for grensesnittdesign i prosjektets historie ble foreslått. Den nye designen implementerer "Material You"-konseptet, utpekt som neste generasjon av Material Design. Det nye konseptet vil automatisk bli brukt på alle plattformer og grensesnittelementer, og vil ikke kreve at applikasjonsutviklere gjør noen endringer. I juli er det planlagt å gi applikasjonsutviklere den første stabile utgivelsen av et nytt verktøysett for utvikling av grafiske grensesnitt - Jetpack Compose.
    Utgivelse av Android 12 mobilplattform

    Selve plattformen har en ny widget-design. Widgets har blitt gjort mer synlige, hjørnene er avrundet bedre, og muligheten til å bruke dynamiske farger som matcher systemtemaet er gitt. Lagt til interaktive kontroller som avmerkingsbokser og brytere (CheckBox, Switch og RadioButton), for eksempel, slik at du kan redigere oppgavelister i TODO-widgeten uten å åpne applikasjonen.

    Utgivelse av Android 12 mobilplattform

    Implementerte en jevnere visuell overgang til applikasjoner lansert fra widgets. Personaliseringen av widgets er forenklet - en knapp er lagt til (en sirkel med en blyant) for raskt å rekonfigurere plasseringen av widgeten på skjermen, som vises når du trykker på widgeten i lang tid.

    Utgivelse av Android 12 mobilplattformUtgivelse av Android 12 mobilplattform

    Ytterligere moduser er tilgjengelig for å begrense størrelsen på widgeten og muligheten til å bruke den adaptive layouten til widget-elementer (responsiv layout) for å lage standardoppsett som endres avhengig av størrelsen på det synlige området (du kan for eksempel lage separate oppsett for nettbrett og smarttelefoner). Grensesnittet for widgetvelger implementerer dynamisk forhåndsvisning og muligheten til å vise en beskrivelse av widgeten.

    Utgivelse av Android 12 mobilplattform
  • Lagt til muligheten for automatisk å tilpasse systempaletten til fargen på det valgte bakgrunnsbildet - systemet bestemmer automatisk de gjeldende fargene, justerer gjeldende paletten og bruker endringer på alle grensesnittelementer, inkludert varslingsområdet, låseskjermen, widgets og volumkontroll.
  • Nye animerte effekter er implementert, som gradvis zooming og jevn forskyvning av områder når du ruller, vises og flytter elementer på skjermen. For eksempel, når du avbryter et varsel på låseskjermen, utvides tidsindikatoren automatisk og tar opp plassen som varselet tidligere tok opp.
  • Utformingen av rullegardinområdet med varsler og hurtiginnstillinger har blitt redesignet. Alternativer for Google Pay og smarthjemkontroll er lagt til i hurtiginnstillingene. Holder du nede strømknappen får du opp Google Assistant, som du kan kommandere for å ringe, åpne en app eller lese en artikkel høyt. Meldinger med innhold spesifisert av søknaden gis i en generell form.
    Utgivelse av Android 12 mobilplattform
  • Lagt til Stretch overscroll-effekt for å indikere at brukeren har beveget seg utenfor rulleområdet og nådd slutten av innholdet. Med den nye effekten ser det ut til at innholdsbildet strekker seg og springer tilbake. Den nye end-of-scroll-atferden er aktivert som standard, men det er et alternativ i innstillingene for å gå tilbake til den gamle virkemåten.
  • Grensesnittet er optimalisert for enheter med sammenleggbare skjermer.
    Utgivelse av Android 12 mobilplattform
  • Mykere lydoverganger er implementert - når du bytter fra en applikasjon som sender ut lyd til en annen, er lyden til den første nå jevnt dempet, og den andre øker jevnt, uten å legge den ene lyden over på den andre.
  • Grensesnittet for administrasjon av nettverksforbindelser i hurtiginnstillingsblokken, panelet og systemkonfiguratoren er modernisert. Et nytt Internett-panel er lagt til som lar deg raskt bytte mellom ulike leverandører og diagnostisere problemer.
    Utgivelse av Android 12 mobilplattform
  • Lagt til muligheten til å lage skjermbilder som dekker ikke bare det synlige området, men også innholdet i rulleområdet. Muligheten til å holde innhold utenfor det synlige området fungerer for alle applikasjoner som bruker View-klassen for utdata. For å implementere støtte for rulling av skjermbilder i programmer som bruker spesifikke grensesnitt, har ScrollCapture API blitt foreslått.
    Utgivelse av Android 12 mobilplattform
  • Funksjonen for automatisk rotering av skjerminnhold er forbedret, som nå kan bruke ansiktsgjenkjenning fra frontkameraet for å avgjøre om skjermen må roteres, for eksempel når en person bruker telefonen mens han ligger ned. For å sikre konfidensialitet behandles informasjon i farten uten mellomlagring av bilder. Funksjonen er foreløpig bare tilgjengelig på Pixel 4 og nyere smarttelefoner.
  • Forbedret bilde-i-bilde-modus (PIP, Picture in Picture) og økt mykhet i overgangseffekter. Hvis du aktiverer automatisk overgang til PIP med en opp-til-hjem-bevegelse (flytter bunnen av skjermen opp), byttes applikasjonen nå umiddelbart til PIP-modus, uten å vente på at animasjonen skal fullføres. Forbedret endring av størrelse på PIP-vinduer med ikke-videoinnhold. Lagt til muligheten til å skjule PIP-vinduet ved å dra det til venstre eller høyre kant av skjermen. Atferden ved berøring av et PIP-vindu er endret - ett trykk viser nå kontrollknappene, og et dobbelttrykk endrer størrelsen på vinduet.
  • Ytelsesoptimaliseringer:
    • Betydelig optimalisering av systemytelsen ble utført - belastningen på CPU-en til hovedsystemtjenestene gikk ned med 22%, noe som igjen førte til en økning i batterilevetiden med 15%. Ved å redusere låsestrid, redusere ventetid og optimalisere I/O, økes ytelsen ved overgang fra en applikasjon til en annen og applikasjonens oppstartstid reduseres.

      I PackageManager, når du arbeider med øyeblikksbilder i skrivebeskyttet modus, reduseres låsestriden med 92 %. Binders interprosesskommunikasjonsmotor bruker lett caching for å redusere ventetiden med opptil 47 ganger for noen typer samtaler. Forbedret ytelse for behandling av dex-, odex- og vdex-filer, noe som resulterer i raskere appinnlastingstider, spesielt på enheter med lite minne. Oppstart av applikasjoner fra varsler har blitt akselerert, for eksempel er lansering av Google Foto fra et varsel nå 34 % raskere.

      Ytelsen til databasespørringer har blitt forbedret gjennom bruk av inline-optimaliseringer i CursorWindow-operasjonen. For små datamengder har CursorWindow blitt 36 % raskere, og for sett med mer enn 1000 rader kan hastighetsøkningen være opptil 49 ganger.

      Det foreslås kriterier for klassifisering av enheter etter ytelse. Basert på en enhets muligheter tildeles den en ytelsesklasse, som deretter kan brukes i applikasjoner for å begrense funksjonaliteten til kodeker på enheter med lav effekt eller for å håndtere multimedieinnhold av høyere kvalitet på kraftig maskinvare.

    • En applikasjonsdvalemodus er implementert, som lar, hvis brukeren ikke har eksplisitt interaksjon med programmet på lang tid, automatisk tilbakestille tidligere gitte tillatelser til applikasjonen, stoppe kjøringen, returnere ressurser som brukes av applikasjonen, for eksempel minne, og blokker lanseringen av bakgrunnsarbeid og sending av push-varsler. Modusen kan brukes for de fleste applikasjoner og lar deg beskytte brukerdata som lenge glemte programmer fortsetter å ha tilgang til. Hvis ønskelig, kan dvalemodus deaktiveres selektivt i innstillingene.
    • Animasjonen ved rotering av skjermen er optimert, noe som reduserer forsinkelsen før rotering med omtrent 25 %.
    • Strukturen inkluderer en ny søkemotor med høy ytelse AppSearch, som lar deg indeksere informasjon på enheten og utføre fulltekstsøk med rangeringsresultater. AppSearch tilbyr to typer indekser - for organisering av søk i individuelle applikasjoner og for søk i hele systemet.
    • Lagt til Game Mode API og tilsvarende innstillinger som lar deg administrere spillets ytelsesprofil – for eksempel kan du ofre ytelse for å forlenge batterilevetiden eller bruke alle tilgjengelige ressurser for å oppnå maksimal FPS.
    • Lagt til spill-som-du-nedlastningsfunksjon for å laste ned spillressurser i bakgrunnen under installasjonsprosessen, slik at du kan begynne å spille før nedlastingen er fullført. applikasjon.
    • Økt respons og reaksjonshastighet når du arbeider med varsler. For eksempel, når en bruker trykker på et varsel, tar den dem nå umiddelbart til den tilknyttede appen. Applikasjoner begrenser bruken av varslingstrampoliner.
    • Optimaliserte IPC-anrop i Binder. Ved å bruke en ny bufringsstrategi og eliminere låsestrid, ble ventetiden betydelig redusert. Totalt sett har Binder-anropsytelsen omtrent doblet seg, men det er noen områder der enda mer betydelige hastigheter har blitt oppnådd. For eksempel ble det å ringe refContentProvider() 47 ganger raskere, releaseWakeLock() 15 ganger raskere og JobScheduler.schedule() 7.9 ganger raskere.
    • For å forhindre potensielle ytelsesproblemer, er applikasjoner forbudt å kjøre forgrunnstjenester mens de kjører i bakgrunnen, bortsett fra i noen få spesielle tilfeller. For å starte arbeidet mens du er i bakgrunnen, anbefales det å bruke WorkManager. For å forenkle overgangen er det foreslått en ny type arbeid i JobScheduler, som starter umiddelbart, har økt prioritet og nettverkstilgang.
  • Endringer som påvirker sikkerhet og personvern:
    • Privacy Dashboard-grensesnittet er implementert med en generell oversikt over alle tillatelsesinnstillinger, slik at du kan forstå hva brukerdataapplikasjoner har tilgang til. Grensesnittet inkluderer også en tidslinje som visualiserer historien om app-tilgang til mikrofon, kamera og plasseringsdata. For hver applikasjon kan du se detaljer og årsaker til å få tilgang til sensitive data.
      Utgivelse av Android 12 mobilplattform
    • Mikrofon- og kameraaktivitetsindikatorer er lagt til panelet, som vises når et program får tilgang til kameraet eller mikrofonen. Når du klikker på indikatorene, vises en dialogboks med innstillinger, som lar deg bestemme hvilken applikasjon som fungerer med kameraet eller mikrofonen, og om nødvendig tilbakekalle tillatelser.
    • Brytere er lagt til hurtiginnstillinger-popup-blokken, som du kan slå av mikrofonen og kameraet med kraft. Etter at du har slått av, vil forsøk på å få tilgang til kameraet og mikrofonen resultere i et varsel og tomme data sendes til applikasjonen.
      Utgivelse av Android 12 mobilplattform
    • Lagt til et nytt varsel som vises nederst på skjermen hver gang et program prøver å lese innholdet på utklippstavlen via et kall til getPrimaryClip()-funksjonen. Hvis innhold fra utklippstavlen kopieres i samme applikasjon som det ble lagt til, vises ikke varselet.
    • Lagt til en egen tillatelse BLUETOOTH_SCAN for å skanne enheter i nærheten via Bluetooth. Tidligere ble denne muligheten gitt basert på tilgang til enhetens plasseringsinformasjon, noe som resulterte i behovet for å gi ytterligere tillatelser til applikasjoner som krever sammenkobling med en annen enhet via Bluetooth.
    • Dialogboksen for å gi tilgang til informasjon om enhetens plassering er modernisert. Brukeren får nå muligheten til å gi applikasjonen informasjon om nøyaktig plassering eller kun oppgi omtrentlige data, samt begrense autoriteten til kun den aktive økten med programmet (nekte tilgang når du er i bakgrunnen). Nøyaktighetsnivået for dataene som returneres ved valg av omtrentlig plassering kan endres i innstillingene, inkludert i forhold til individuelle applikasjoner.
      Utgivelse av Android 12 mobilplattform
    • Applikasjonsutviklere får muligheten til å deaktivere popup-advarsler som overlapper innhold. Tidligere ble muligheten til å vise overlappende vinduer kontrollert ved å kreve at tillatelser ble verifisert under installasjonen av applikasjoner som viser overlappende vinduer. Det var ingen tilgjengelige verktøy for å påvirke overlappingen av innhold fra applikasjoner hvis vinduer overlapper hverandre. Når du bruker Window#setHideOverlayWindows()-kallet, vil alle overlappende vinduer nå automatisk skjules. Skjuling kan for eksempel aktiveres når du viser spesielt viktig informasjon, for eksempel transaksjonsbekreftelse.
    • Apper får ytterligere innstillinger for å begrense varslingsoperasjoner mens skjermen er låst. Tidligere hadde du kun muligheten til å kontrollere synligheten av varsler mens skjermen er låst, men nå kan du aktivere obligatorisk autentisering for å utføre eventuelle handlinger med varsler mens skjermen er låst. For eksempel kan en meldingsapp kreve autentisering før du sletter eller merker en melding som lest.
    • Lagt til PackageManager.requestChecksums() API for å be om og bekrefte kontrollsummen for en installert applikasjon. Støttede algoritmer inkluderer SHA256, SHA512 og Merkle Root.
    • WebView-nettmotoren implementerer muligheten til å bruke SameSite-attributtet for å kontrollere behandling av informasjonskapsler. Verdien "SameSite=Lax" begrenser informasjonskapselen som sendes for underforespørsler på tvers av nettsteder, for eksempel å be om et bilde eller laste inn innhold via en iframe fra et annet nettsted. I "SameSite=Strict"-modus sendes ikke informasjonskapsler for noen form for forespørsler på tvers av nettsteder, inkludert alle innkommende lenker fra eksterne nettsteder.
    • Vi fortsetter å jobbe med å randomisere MAC-adresser for å eliminere muligheten for enhetssporing når de er koblet til et trådløst nettverk. Uprivilegerte applikasjoner har begrenset tilgang til enhetens MAC-adresse og kallet getHardwareAddress() returnerer nå en nullverdi.
  • Endringer og forbedringer på lavt nivå for applikasjonsutviklere:
    • Lagt til muligheten til å tilpasse grensesnittelementer til enheter med avrundede skjermer. Utviklere kan nå få informasjon om skjermavrundinger og justere grensesnittelementer som faller på usynlige hjørneområder. Gjennom den nye RoundedCorner API kan du finne ut parametere som radius og sentrum av avrundingen, og gjennom Display.getRoundedCorner() og WindowInsets.getRoundedCorner() kan du bestemme koordinatene til hvert avrundet hjørne av skjermen.
      Utgivelse av Android 12 mobilplattform
    • En ny CompanionDeviceService API er lagt til, som du kan aktivere applikasjoner med som kontrollerer ledsagerenheter, som smartklokker og treningssporere. API-en løser problemet med å starte og koble til de nødvendige applikasjonene når en følgeenhet dukker opp i nærheten. Systemet aktiverer tjenesten når en enhet er i nærheten og sender et varsel når enheten kobles fra eller når enheten går inn eller ut av scope. Apper kan også bruke den nye følgeenhetsprofilen for enklere å konfigurere tillatelser for å bli med på en enhet.
    • Forbedret kapasitetsprognosesystem. Applikasjoner kan nå be om informasjon om forventet total gjennomstrømning i forhold til operatør, spesifikt trådløst nettverk (Wi-Fi SSID), nettverkstype og signalstyrke.
    • Bruken av vanlige visuelle effekter, som uskarphet og fargeforvrengning, har blitt forenklet og kan nå brukes ved hjelp av RenderEffect API til ethvert RenderNode-objekt eller hele det synlige området, inkludert i en kjede med andre effekter. Denne funksjonen lar deg for eksempel uskarpe et bilde som vises via ImageView uten eksplisitt å kopiere, behandle og erstatte punktgrafikken, og flytte disse handlingene til plattformsiden. I tillegg foreslås Window.setBackgroundBlurRadius() API, som du kan gjøre bakgrunnen til et vindu uskarp med med en frostet glasseffekt og fremheve dybden ved å gjøre rommet rundt vinduet uskarpt.
      Utgivelse av Android 12 mobilplattform
    • Integrerte verktøy for transkoding av mediestrømmer som kan brukes i miljøer med en kameraapplikasjon som lagrer video i HEVC-formatet, for å sikre kompatibilitet med applikasjoner som ikke støtter dette formatet. For slike applikasjoner er en automatisk transkodingsfunksjon lagt til det mer vanlige AVC-formatet.
    • Lagt til støtte for bildeformatet AVIF (AV1 Image Format), som bruker intra-frame-komprimeringsteknologi fra AV1-videokodingsformatet. Beholderen for distribusjon av komprimerte data i AVIF er fullstendig lik HEIF. AVIF støtter både bilder i HDR (High Dynamic Range) og Wide-gamut fargerom, samt i standard dynamisk område (SDR).
    • En enhetlig OnReceiveContentListener API er foreslått for å sette inn og flytte utvidede typer innhold (formatert tekst, bilder, videoer, lydfiler, etc.) mellom applikasjoner som bruker ulike datakilder, inkludert utklippstavlen, tastaturet og dra-og-slipp-grensesnittet.
    • En taktil tilbakemeldingseffekt, implementert ved hjelp av vibrasjonsmotoren innebygd i telefoner, er lagt til, hvor frekvensen og intensiteten til vibrasjonen avhenger av parameterne til den aktuelle lyden. Den nye effekten lar deg fysisk føle lyden og kan brukes til å legge til ekstra realisme til spill og lydprogrammer.
    • I oppslukende modus, der programmet vises i fullskjerm med skjulte servicepaneler, forenkles navigasjonen ved hjelp av kontrollbevegelser. For eksempel kan bøker, videoer og bilder nå navigeres med en enkelt sveipebevegelse.
    • Som en del av Mainline-prosjektet, som lar deg oppdatere individuelle systemkomponenter uten å oppdatere hele plattformen, er det utarbeidet nye oppdaterbare systemmoduler i tillegg til de 22 modulene som er tilgjengelige i Android 11. Oppdateringene påvirker komponenter som ikke er knyttet til maskinvare, som lastes ned via Google Play separat fra OTA-fastvareoppdateringer fra produsenten. Blant de nye modulene som kan oppdateres via Google Play uten å oppdatere fastvaren er ART (Android Runtime) og en modul for videoomkoding.
    • En API er lagt til WindowInsets-klassen for å bestemme visningsposisjonen til kamera- og mikrofonbruksindikatorer (indikatorer kan overlappe kontroller i programmer distribuert til fullskjerm, og gjennom den angitte API-en kan applikasjonen justere grensesnittet).
    • For sentralstyrte enheter er det lagt til et alternativ for å forhindre bruk av brytere for å dempe mikrofon og kamera.
    • For CDM-applikasjoner (Companion Device Manager) som kjører i bakgrunnen, og som kontrollerer ledsagende enheter som smartklokker og treningssporere, er det mulig å starte forgrunnstjenester.
    • I stedet for en utgave for bærbare enheter, bestemte Android Wear, sammen med Samsung, seg for å utvikle en ny enhetlig plattform som kombinerer egenskapene til Android og Tizen.
    • Mulighetene til Android-utgaver for bilinfotainmentsystemer og smart-TVer er utvidet.

    Kilde: opennet.ru

  • Legg til en kommentar