Google har afsløret den anden testversion af sin åbne mobilplatform. Android 12. Udgivelse Android Version 12 forventes at udkomme i tredje kvartal af 2021. Et foreløbigt testprogram er tilgængeligt for at evaluere de nye platformfunktioner. Firmware-builds er blevet udarbejdet til enhederne Pixel 3/3 XL, Pixel 3a/3a XL, Pixel 4/4 XL, Pixel 4a/4a 5G og Pixel 5. En OTA-opdatering er tilgængelig for dem, der installerede den første testversion.
Nøgleinnovationer Android 12:
- Tilføjet muligheden for at tilpasse grænsefladeelementer til enheder med afrundede skærme. Udviklere kan nu få information om skærmafrundinger og justere grænsefladeelementer, der falder på usynlige hjørneområder. Gennem den nye RoundedCorner API kan du finde ud af parametre såsom radius og centrum af afrundingen, og gennem Display.getRoundedCorner() og WindowInsets.getRoundedCorner() kan du bestemme koordinaterne for hvert afrundet hjørne af skærmen.

- Forbedret billed-i-billede-tilstand (PIP, Picture in Picture) og øget glathed af overgangseffekter. Hvis du aktiverer automatisk overgang til PIP med en up-to-home gestus (skifter bunden af skærmen op), skiftes applikationen nu straks til PIP-tilstand uden at vente på, at animationen er fuldført. Forbedret størrelsesændring af PIP-vinduer med ikke-videoindhold. Tilføjet muligheden for at skjule PIP-vinduet ved at trække det til venstre eller højre kant af skærmen. Funktionen ved berøring af et PIP-vindue er blevet ændret - et tryk viser nu kontrolknapperne, og et dobbelttryk ændrer vinduets størrelse.
- Der er tilføjet en ny CompanionDeviceService API, hvormed du kan aktivere applikationer, der styrer ledsagende enheder, såsom smartwatches og fitnesstrackere. API'en løser problemet med at starte og forbinde de nødvendige applikationer, når en ledsagende enhed dukker op i nærheden. Systemet aktiverer tjenesten, når en enhed er i nærheden, og sender en meddelelse, når enheden afbrydes, eller når enheden kommer ind i eller forlader scopet. Apps kan også bruge den nye ledsagende enhedsprofil til nemmere at konfigurere tilladelser til at deltage i en enhed.
- Forbedret kapacitetsforudsigelsessystem. Applikationer kan nu anmode om information om den forudsagte samlede gennemstrømning i forhold til operatøren, specifikt trådløst netværk (Wi-Fi SSID), netværkstype og signalstyrke.
- Anvendelsen af almindelige visuelle effekter, såsom sløring og farveforvrængning, er blevet forenklet og kan nu anvendes ved hjælp af RenderEffect API til ethvert RenderNode-objekt eller hele det synlige område, inklusive i en kæde med andre effekter. Denne funktion giver dig for eksempel mulighed for at sløre et billede, der vises gennem ImageView uden eksplicit at kopiere, behandle og erstatte bitmap'et, og flytte disse handlinger til platformssiden. Derudover foreslås Window.setBackgroundBlurRadius() API'et, hvormed du kan sløre baggrunden af et vindue med en matteret glaseffekt og fremhæve dybde ved at sløre rummet omkring vinduet.

- Integrerede værktøjer til omkodning af mediestrømme, der kan bruges i miljøer med en kameraapplikation, der gemmer video i HEVC-formatet, for at sikre kompatibilitet med applikationer, der ikke understøtter dette format. Til sådanne applikationer er der tilføjet en automatisk omkodningsfunktion til det mere almindelige AVC-format.
- Tilføjet understøttelse af billedformatet AVIF (AV1 Image Format), som bruger intra-frame-komprimeringsteknologier fra AV1-videokodningsformatet. Beholderen til distribution af komprimerede data i AVIF ligner fuldstændig HEIF. AVIF understøtter både billeder i HDR (High Dynamic Range) og Wide-gamut farverum samt i standard dynamic range (SDR).
- For at forhindre potentielle ydeevneproblemer er det forbudt for programmer at køre forgrundstjenester, mens de kører i baggrunden, undtagen i nogle få specielle tilfælde. For at starte arbejdet i baggrunden anbefales det at bruge WorkManager. For at forenkle overgangen er der foreslået en ny type arbejde i JobScheduler, som starter med det samme, har øget prioritet og netværksadgang.
- En samlet OnReceiveContentListener API foreslås til indsættelse og flytning af udvidede typer indhold (formateret tekst, billeder, videoer, lydfiler osv.) mellem applikationer, der bruger forskellige datakilder, herunder klippebordet, tastaturet og træk&slip-grænsefladen.
- En taktil feedback-effekt, implementeret ved hjælp af vibrationsmotoren indbygget i telefoner, er blevet tilføjet, hvor frekvensen og intensiteten af vibration afhænger af parametrene for den aktuelle udgangslyd. Den nye effekt giver dig mulighed for fysisk at mærke lyden og kan bruges til at tilføje ekstra realisme til spil og lydprogrammer.
- I Immersive-tilstand, hvor programmet vises i fuld skærm med skjulte servicepaneler, forenkles navigationen ved hjælp af kontrolbevægelser. For eksempel kan bøger, videoer og billeder nu navigeres med en enkelt strygebevægelse.
- Designet af meddelelsesdisplayet er blevet opdateret, hvilket gør det enklere og mere funktionelt. Animation og overgangseffekter er også blevet opdateret og gjort glattere. Meddelelser med indhold specificeret af ansøgningen gives i en generel form.
- Øget reaktionsevne og reaktionshastighed, når du arbejder med notifikationer. For eksempel, når en bruger trykker på en notifikation, fører den nu straks til den tilknyttede app. Ansøgninger begrænser brugen af anmeldelsestrampoliner.
- Optimerede IPC-opkald i Binder. Ved at bruge en ny caching-strategi og eliminere låsekonflikt blev forsinkelsen betydeligt reduceret. Samlet set er Binder-opkaldsydelsen nogenlunde fordoblet, men der er nogle områder, hvor der er opnået endnu større hastigheder. For eksempel blev det at kalde refContentProvider() 47 gange hurtigere, releaseWakeLock() 15 gange hurtigere og JobScheduler.schedule() 7.9 gange hurtigere.
- Som en del af Mainline-projektet, der muliggør opdatering af individuelle systemkomponenter uden at opdatere hele platformen, er der udarbejdet nye opdaterbare systemmoduler ud over de 22 moduler, der er tilgængelige i Android 11. Opdateringerne påvirker komponenter, der ikke er knyttet til hardwaren, og som downloades via Google Play separat fra producentens OTA-firmwareopdateringer. Blandt de nye moduler, der kan opdateres via Google Play uden at opdatere firmwaren, er ART (Android Runtime) og et videotranskodningsmodul.
- Безопасность og конфиденциальность.
- Programudviklere kan nu deaktivere pop op-advarselsvinduer, der overlapper indhold. Tidligere blev muligheden for at vise overlappende vinduer kontrolleret af en tilladelsesanmodning, der blev bekræftet under installationen af programmer, der viste overlappende vinduer. Der var ingen værktøjer til at kontrollere, om indhold overlappede af programmer, hvis vinduer overlappede. Når du bruger Window#setHideOverlay-kaldetWindows() Alle vinduer, der overlapper indhold, skjules nu automatisk. For eksempel kan skjulning aktiveres, når der vises særligt vigtige oplysninger, såsom en transaktionsbekræftelse.
- Apps får yderligere indstillinger for at begrænse meddelelseshandlinger, mens skærmen er låst. Tidligere havde du kun mulighed for at kontrollere synligheden af notifikationer, mens skærmen er låst, men nu kan du aktivere obligatorisk godkendelse for at udføre eventuelle handlinger med notifikationer, mens skærmen er låst. For eksempel kan en beskedapp kræve godkendelse før sletning eller markering af en besked som læst.
- Tilføjet PackageManager.requestChecksums() API for at anmode om og verificere kontrolsummen for en installeret applikation. Understøttede algoritmer inkluderer SHA256, SHA512 og Merkle Root.
- WebView-webmotoren implementerer muligheden for at bruge SameSite-attributten til at kontrollere cookie-behandling. Værdien "SameSite=Lax" begrænser den cookie, der sendes til underanmodninger på tværs af websteder, såsom anmodning om et billede eller indlæsning af indhold via en iframe fra et andet websted. I "SameSite=Strict"-tilstand sendes der ikke cookies til nogen form for anmodninger på tværs af websteder, inklusive alle indgående links fra eksterne websteder.
- Vi fortsætter med at arbejde på at randomisere MAC-adresser for at eliminere muligheden for enhedssporing, når den er tilsluttet et trådløst netværk. Uprivilegerede applikationer har begrænset adgang til enhedens MAC-adresse, og kaldet getHardwareAddress() returnerer nu en nulværdi.
Kilde: opennet.ru


