Vrystelling van die Android 12 mobiele platform

Google het die vrystelling van die oop mobiele platform Android 12 gepubliseer. Die brontekste wat met die nuwe vrystelling geassosieer word, word in die projek se Git-bewaarplek (tak android-12.0.0_r1) geplaas. Firmware-opdaterings word voorberei vir Pixel-reeks toestelle, sowel as vir slimfone wat vervaardig word deur Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo en Xiaomi. Daarbenewens is universele GSI (Generic System Images)-samestellings geskep, geskik vir verskeie toestelle gebaseer op ARM64- en x86_64-argitekture.

Belangrikste innovasies:

  • Een van die belangrikste koppelvlakontwerpopdaterings in die geskiedenis van die projek is voorgestel. Die nuwe ontwerp implementeer die "Material You"-konsep, voorgehou as die volgende generasie Materiaalontwerp. Die nuwe konsep sal outomaties op alle platforms en koppelvlakelemente toegepas word, en sal nie vereis dat toepassingsontwikkelaars enige veranderinge aanbring nie. In Julie word beplan om toepassingsontwikkelaars te voorsien van die eerste stabiele vrystelling van 'n nuwe gereedskapstel vir die ontwikkeling van grafiese koppelvlakke - Jetpack Compose.
    Vrystelling van die Android 12 mobiele platform

    Die platform self het 'n nuwe widget-ontwerp. Legstukke is meer sigbaar gemaak, hoeke is beter afgerond en die vermoë om dinamiese kleure te gebruik wat by die stelseltema pas, is voorsien. Bygevoeg interaktiewe kontroles soos merkblokkies en skakelaars (CheckBox, Switch en RadioButton), wat jou byvoorbeeld toelaat om taaklyste in die TODO-legstuk te wysig sonder om die toepassing oop te maak.

    Vrystelling van die Android 12 mobiele platform

    Implementeer 'n gladder visuele oorgang na toepassings wat vanaf widgets geloods is. Die verpersoonliking van legstukke is vereenvoudig - 'n knoppie is bygevoeg ('n sirkel met 'n potlood) om vinnig die plasing van die legstuk op die skerm te herkonfigureer, wat verskyn wanneer jy die legstuk vir 'n lang tyd aanraak.

    Vrystelling van die Android 12 mobiele platformVrystelling van die Android 12 mobiele platform

    Bykomende modusse word verskaf om die grootte van die legstuk te beperk en die vermoë om die aanpasbare uitleg van legstukelemente (responsiewe uitleg) te gebruik om standaarduitlegte te skep wat verander na gelang van die grootte van die sigbare area (jy kan byvoorbeeld aparte uitlegte vir tablette en slimfone). Die widget-kieser-koppelvlak implementeer dinamiese voorskou en die vermoë om 'n beskrywing van die legstuk te vertoon.

    Vrystelling van die Android 12 mobiele platform
  • Die vermoë bygevoeg om die stelselpalet outomaties aan te pas by die kleur van die geselekteerde muurpapier - die stelsel bepaal outomaties die heersende kleure, pas die huidige palet aan en pas veranderinge toe op alle koppelvlak-elemente, insluitend die kennisgewingarea, sluitskerm, widgets en volumebeheer.
  • Nuwe geanimeerde effekte is geïmplementeer, soos geleidelike inzoom en gladde verskuiwing van areas wanneer elemente op die skerm blaai, verskyn en beweeg. Byvoorbeeld, wanneer jy 'n kennisgewing op die sluitskerm kanselleer, brei die tydaanwyser outomaties uit en neem die spasie op wat die kennisgewing voorheen in beslag geneem het.
  • Die ontwerp van die aftrekarea met kennisgewings en vinnige instellings is herontwerp. Opsies vir Google Pay en slimhuisbeheer is by die vinnige instellings gevoeg. As jy die aan/uit-knoppie inhou, word Google Assistant opgeroep, wat jy kan beveel om 'n oproep te maak, 'n program oop te maak of 'n artikel hardop te lees. Kennisgewings met inhoud gespesifiseer deur die aansoek word in 'n algemene vorm gegee.
    Vrystelling van die Android 12 mobiele platform
  • Bygevoeg Stretch overscroll-effek om aan te dui dat die gebruiker verby die rolgebied beweeg het en die einde van die inhoud bereik het. Met die nuwe effek lyk dit of die inhoudsbeeld strek en terugspring. Die nuwe einde-van-rol-gedrag is by verstek geaktiveer, maar daar is 'n opsie in die instellings om terug te keer na die ou gedrag.
  • Die koppelvlak is geoptimaliseer vir toestelle met vouskerms.
    Vrystelling van die Android 12 mobiele platform
  • Gladder oudio-oorgange is geïmplementeer - wanneer oorgeskakel word van een toepassing wat klank na 'n ander uitvoer, word die klank van die eerste een nou glad gedemp, en die tweede een verhoog glad, sonder om een ​​klank op die ander te plaas.
  • Die koppelvlak vir die bestuur van netwerkverbindings in die vinnige instellingsblok, paneel en stelselkonfigurator is gemoderniseer. ’n Nuwe internetpaneel is bygevoeg waarmee jy vinnig tussen verskillende verskaffers kan wissel en probleme kan diagnoseer.
    Vrystelling van die Android 12 mobiele platform
  • Bygevoeg die vermoë om skermkiekies te skep wat nie net die sigbare area dek nie, maar ook die inhoud in die blaaiarea. Die vermoë om inhoud buite die sigbare area te hou, werk vir alle toepassings wat die View-klas vir uitvoer gebruik. Om ondersteuning te implementeer vir die blaai van skermkiekies in programme wat spesifieke koppelvlakke gebruik, is die ScrollCapture API voorgestel.
    Vrystelling van die Android 12 mobiele platform
  • Die outodraai skerminhoudfunksie is verbeter, wat nou gesigherkenning vanaf die voorste kamera kan gebruik om te bepaal of die skerm gedraai moet word, byvoorbeeld wanneer 'n persoon die foon gebruik terwyl hy lê. Om vertroulikheid te verseker, word inligting dadelik verwerk sonder tussentydse berging van beelde. Die kenmerk is tans net beskikbaar op Pixel 4 en nuwer slimfone.
  • Verbeterde prentjie-in-prent-modus (PIP, Picture in Picture) en groter gladheid van oorgangseffekte. As jy outomatiese oorgang na PIP aktiveer met 'n opwaartse gebaar (die onderkant van die skerm opskuif), word die toepassing nou onmiddellik na PIP-modus oorgeskakel, sonder om te wag vir die animasie om te voltooi. Verbeterde grootteverandering van PIP-vensters met nie-video-inhoud. Die vermoë bygevoeg om die PIP-venster te versteek deur dit na die linker- of regterrand van die skerm te sleep. Die gedrag wanneer 'n PIP-venster aangeraak word, is verander - een druk wys nou die beheerknoppies, en 'n dubbele aanraking verander die grootte van die venster.
  • Prestasie-optimalisasies:
    • Beduidende optimalisering van stelselwerkverrigting is uitgevoer - die las op die SVE van die hoofstelseldienste het met 22% afgeneem, wat weer gelei het tot 'n toename in batterylewe met 15%. Deur die slotkonflik te verminder, latensie te verminder en I/O te optimaliseer, word die werkverrigting van die oorskakeling van een toepassing na 'n ander verhoog en word toepassing se aanvangstyd verminder.

      In PackageManager, wanneer daar met foto's in leesalleen-modus gewerk word, word slotkonflik met 92% verminder. Binder se interproseskommunikasie-enjin gebruik liggewig-kas om latensie met tot 47 keer te verminder vir sommige soorte oproepe. Verbeterde werkverrigting vir die verwerking van dex-, odex- en vdex-lêers, wat lei tot vinniger programlaaitye, veral op toestelle met min geheue. Die bekendstelling van toepassings vanaf kennisgewings is versnel, byvoorbeeld, die bekendstelling van Google Foto's vanaf 'n kennisgewing is nou 34% vinniger.

      Die werkverrigting van databasisnavrae is verbeter deur die gebruik van inlyn-optimalisasies in die CursorWindow-bewerking. Vir klein hoeveelhede data het CursorWindow 36% vinniger geword, en vir stelle van meer as 1000 rye kan die versnelling tot 49 keer wees.

      Kriteria word voorgestel om toestelle volgens prestasie te klassifiseer. Gebaseer op 'n toestel se vermoëns, word dit 'n prestasieklas toegeken, wat dan in toepassings gebruik kan word om die funksionaliteit van kodeks op laekragtoestelle te beperk of om multimedia-inhoud van hoër gehalte op kragtige hardeware te hanteer.

    • 'n Toepassing hibernasie-modus is geïmplementeer, wat dit moontlik maak om, indien die gebruiker vir 'n lang tyd nie eksplisiet met die program interaksie het nie, outomaties voorheen verleende toestemmings aan die toepassing terug te stel, uitvoering te stop, hulpbronne wat deur die toepassing gebruik word terug te stuur, soos geheue, en blokkeer die bekendstelling van agtergrondwerk en die stuur van stootkennisgewings. Die modus kan vir die meeste toepassings gebruik word en stel jou in staat om gebruikersdata te beskerm waartoe programme wat lank vergete is steeds toegang het. As jy wil, kan hibernasiemodus selektief in die instellings gedeaktiveer word.
    • Die animasie wanneer die skerm gedraai word, is geoptimaliseer, wat die vertraging voor rotasie met ongeveer 25% verminder.
    • Die struktuur sluit 'n nuwe hoëprestasie-soekenjin AppSearch in, wat jou toelaat om inligting op die toestel te indekseer en voltekssoektogte met rangorderesultate uit te voer. AppSearch verskaf twee tipes indekse - om soektogte in individuele toepassings te organiseer en om die hele stelsel te deursoek.
    • Bygevoeg die Game Mode API en ooreenstemmende instellings wat jou toelaat om die spel se prestasieprofiel te bestuur - jy kan byvoorbeeld prestasie opoffer om batterylewe te verleng of alle beskikbare hulpbronne gebruik om maksimum FPS te bereik.
    • Bygevoeg speel-soos-jy-aflaai-funksie om speletjiehulpbronne op die agtergrond af te laai tydens die installasieproses, sodat jy kan begin speel voordat die aflaai voltooi is. aansoek.
    • Verhoogde reaksie en reaksiespoed wanneer u met kennisgewings werk. Byvoorbeeld, wanneer 'n gebruiker 'n kennisgewing tik, neem dit hulle nou dadelik na die geassosieerde toepassing. Toepassings beperk die gebruik van kennisgewing-trampoliene.
    • Geoptimaliseerde IPC-oproepe in Binder. Deur 'n nuwe kasstrategie te gebruik en slotkonflik uit te skakel, is latensie aansienlik verminder. In die algemeen het Binder-oproepprestasie rofweg verdubbel, maar daar is sommige gebiede waar selfs meer beduidende versnellings bereik is. Byvoorbeeld, die oproep van refContentProvider() het 47 keer vinniger geword, releaseWakeLock() 15 keer vinniger en JobScheduler.schedule() 7.9 keer vinniger.
    • Om potensiële werkverrigtingkwessies te voorkom, word toepassings verbied om voorgronddienste uit te voer terwyl hulle op die agtergrond loop, behalwe in 'n paar spesiale gevalle. Om te begin werk terwyl dit op die agtergrond is, word dit aanbeveel om WorkManager te gebruik. Om die oorgang te vereenvoudig, is 'n nuwe soort werk in JobScheduler voorgestel, wat onmiddellik begin, verhoogde prioriteit en netwerktoegang het.
  • Veranderinge wat sekuriteit en privaatheid raak:
    • Die Privaatheidskontroleskerm-koppelvlak is geïmplementeer met 'n algemene oorsig van alle toestemminginstellings, wat jou toelaat om te verstaan ​​waartoe gebruikersdatatoepassings toegang het. Die koppelvlak bevat ook 'n tydlyn wat die geskiedenis van toepassingstoegang tot mikrofoon-, kamera- en liggingdata visualiseer. Vir elke toepassing kan jy besonderhede en redes vir toegang tot sensitiewe data sien.
      Vrystelling van die Android 12 mobiele platform
    • Mikrofoon- en kameraaktiwiteitsaanwysers is by die paneel gevoeg, wat verskyn wanneer 'n toepassing toegang tot die kamera of mikrofoon kry. Wanneer jy op die aanwysers klik, verskyn 'n dialoog met instellings wat jou toelaat om te bepaal watter toepassing met die kamera of mikrofoon werk, en, indien nodig, toestemmings te herroep.
    • Skakelaars is by die vinnige instellings-opwipblok gevoeg, waarmee jy die mikrofoon en kamera met geweld kan afskakel. Nadat dit afgeskakel is, sal pogings om toegang tot die kamera en mikrofoon te kry daartoe lei dat 'n kennisgewing en leë data na die toepassing gestuur word.
      Vrystelling van die Android 12 mobiele platform
    • Het 'n nuwe kennisgewing bygevoeg wat aan die onderkant van die skerm verskyn wanneer 'n toepassing probeer om die inhoud van die knipbord te lees via 'n oproep na die getPrimaryClip()-funksie. As inhoud van die knipbord gekopieer word in dieselfde toepassing waarin dit bygevoeg is, verskyn die kennisgewing nie.
    • Het 'n aparte toestemming BLUETOOTH_SCAN bygevoeg om nabygeleë toestelle via Bluetooth te skandeer. Voorheen is hierdie vermoë verskaf op grond van toegang tot die toestel se ligginginligting, wat gelei het tot die behoefte om bykomende toestemmings te verleen aan toepassings wat koppeling met 'n ander toestel via Bluetooth vereis.
    • Die dialoog vir die verskaffing van toegang tot inligting oor die toestel se ligging is gemoderniseer. Die gebruiker word nou die geleentheid gebied om die toepassing van inligting oor die presiese ligging te voorsien of slegs benaderde data te verskaf, asook om die magtiging te beperk tot slegs die aktiewe sessie met die program (weier toegang as dit op die agtergrond is). Die vlak van akkuraatheid van die data wat teruggestuur word wanneer 'n benaderde ligging gekies word, kan in die instellings verander word, insluitend met betrekking tot individuele toepassings.
      Vrystelling van die Android 12 mobiele platform
    • Aansoekontwikkelaars kry die opsie om opspringwaarskuwings wat inhoud oorvleuel, uit te skakel. Voorheen is die vermoë om oorvleuelende vensters te vertoon beheer deur te vereis dat toestemmings geverifieer moet word tydens die installering van toepassings wat oorvleuelende vensters vertoon. Daar was geen gereedskap beskikbaar om die oorvleueling van inhoud van toepassings waarvan die vensters oorvleuel, te beïnvloed nie. Wanneer die Window#setHideOverlayWindows()-oproep gebruik word, sal alle oorvleuelende vensters nou outomaties versteek word. Versteek kan byvoorbeeld geaktiveer word wanneer besonder belangrike inligting, soos transaksiebevestiging, vertoon word.
    • Toepassings kry bykomende instellings om kennisgewingbedrywighede te beperk terwyl die skerm gesluit is. Voorheen het jy net die vermoë gehad om die sigbaarheid van kennisgewings te beheer terwyl die skerm gesluit is, maar nou kan jy verpligte stawing aktiveer om enige handelinge met kennisgewings uit te voer terwyl die skerm gesluit is. Byvoorbeeld, 'n boodskapprogram mag dalk stawing vereis voordat 'n boodskap as gelees uitgevee of gemerk word.
    • Bygevoeg PackageManager.requestChecksums() API om die kontrolesom van 'n geïnstalleerde toepassing aan te vra en te verifieer. Ondersteunde algoritmes sluit in SHA256, SHA512 en Merkle Root.
    • Die WebView-webenjin implementeer die vermoë om die SameSite-kenmerk te gebruik om koekieverwerking te beheer. Die waarde "SameSite=Lax" beperk die koekie wat gestuur word vir kruiswebwerf-subversoeke, soos om 'n prent te versoek of inhoud via 'n iframe vanaf 'n ander werf te laai. In "SameSite=Streng"-modus word koekies nie vir enige soort kruiswerfversoeke gestuur nie, insluitend alle inkomende skakels vanaf eksterne werwe.
    • Ons werk voort om MAC-adresse te ewekansig te maak om die moontlikheid van toestelopsporing uit te skakel wanneer dit aan 'n draadlose netwerk gekoppel is. Ongebevoorregte toepassings het beperkte toegang tot die toestel se MAC-adres en oproep getHardwareAddress() gee nou 'n leë waarde.
  • Laevlakveranderings en verbeterings vir toepassingsontwikkelaars:
    • Bygevoeg die vermoë om koppelvlak-elemente aan te pas by toestelle met geronde skerms. Ontwikkelaars kan nou inligting oor skermafrondings kry en koppelvlakelemente wat op onsigbare hoekareas val, aanpas. Deur die nuwe RoundedCorner API kan jy parameters soos die radius en middelpunt van die afronding uitvind, en deur Display.getRoundedCorner() en WindowInsets.getRoundedCorner() kan jy die koördinate van elke geronde hoek van die skerm bepaal.
      Vrystelling van die Android 12 mobiele platform
    • ’n Nuwe CompanionDeviceService API is bygevoeg, waarmee jy toepassings kan aktiveer wat metgeseltoestelle beheer, soos slimhorlosies en fiksheidspoorsnyers. Die API los die probleem op om die nodige toepassings te begin en te koppel wanneer 'n metgeseltoestel naby verskyn. Die stelsel aktiveer die diens wanneer 'n toestel naby is en stuur 'n kennisgewing wanneer die toestel ontkoppel word of wanneer die toestel die omvang binnegaan of verlaat. Programme kan ook die nuwe metgeseltoestelprofiel gebruik om toestemmings makliker op te stel om by 'n toestel aan te sluit.
    • Verbeterde kapasiteitsvoorspellingstelsel. Toepassings kan nou inligting aanvra oor die voorspelde totale deurset in verhouding tot die operateur, spesifieke draadlose netwerk (Wi-Fi SSID), netwerktipe en seinsterkte.
    • Die toepassing van algemene visuele effekte, soos vervaging en kleurvervorming, is vereenvoudig en kan nou met behulp van die RenderEffect API op enige RenderNode-voorwerp of die hele sigbare area toegepas word, insluitend in 'n ketting met ander effekte. Met hierdie kenmerk kan u byvoorbeeld 'n beeld wat via ImageView vertoon word, vervaag sonder om die bitmap uitdruklik te kopieer, te verwerk en te vervang, en hierdie aksies na die platformkant te skuif. Daarbenewens word die Window.setBackgroundBlurRadius() API voorgestel, waarmee jy die agtergrond van 'n venster met 'n matglas-effek kan vervaag en diepte kan uitlig deur die spasie rondom die venster te vervaag.
      Vrystelling van die Android 12 mobiele platform
    • Geïntegreerde gereedskap vir die transkodering van mediastrome wat in omgewings gebruik kan word met 'n kameratoepassing wat video in die HEVC-formaat stoor, om versoenbaarheid te verseker met toepassings wat nie hierdie formaat ondersteun nie. Vir sulke toepassings is 'n outomatiese transkoderingsfunksie by die meer algemene AVC-formaat gevoeg.
    • Bygevoeg ondersteuning vir die AVIF (AV1 Image Format) beeld formaat, wat gebruik maak van intra-raam kompressie tegnologie van die AV1 video enkodering formaat. Die houer vir die verspreiding van saamgeperste data in AVIF is heeltemal soortgelyk aan HEIF. AVIF ondersteun beide beelde in HDR (High Dynamic Range) en Wye-spektrum kleurruimte, sowel as in standaard dinamiese reeks (SDR).
    • 'n Verenigde OnReceiveContentListener API word voorgestel vir die invoeging en verskuiwing van uitgebreide tipes inhoud (geformateerde teks, beelde, video's, oudiolêers, ens.) tussen toepassings wat verskeie databronne gebruik, insluitend die knipbord, sleutelbord en sleep-en-los-koppelvlak.
    • 'n Tasbare terugvoer-effek, geïmplementeer met behulp van die vibrasiemotor wat in fone ingebou is, is bygevoeg, die frekwensie en intensiteit van vibrasie waarin afhang van die parameters van die huidige uitsetklank. Die nuwe effek laat jou toe om die klank fisies te voel en kan gebruik word om bykomende realisme by speletjies en klankprogramme te voeg.
    • In Immersive-modus, waarin die program in volskerm vertoon word met dienspanele versteek, word navigasie vereenvoudig deur beheergebare te gebruik. Byvoorbeeld, boeke, video's en foto's kan nou met 'n enkele swiepgebaar navigeer word.
    • As deel van die Mainline-projek, wat jou toelaat om individuele stelselkomponente op te dateer sonder om die hele platform op te dateer, is nuwe opdateerbare stelselmodules voorberei bykomend tot die 22 modules wat in Android 11 beskikbaar is. Die opdaterings raak nie-hardewarekomponente wat afgelaai word via Google Play apart van OTA-firmware-opdaterings van die vervaardiger. Onder die nuwe modules wat via Google Play opgedateer kan word sonder om die firmware op te dateer, is ART (Android Runtime) en 'n module vir video-transkodering.
    • ’n API is by die WindowInsets-klas gevoeg om die vertoonposisie van kamera- en mikrofoongebruikaanwysers te bepaal (aanwysers kan kontroles oorvleuel in programme wat na volskerm ontplooi is, en deur die gespesifiseerde API kan die toepassing sy koppelvlak aanpas).
    • Vir sentraal bestuurde toestelle is 'n opsie bygevoeg om die gebruik van skakelaars te voorkom om die mikrofoon en kamera te demp.
    • Vir CDM-toepassings (Companion Device Manager) wat op die agtergrond loop, wat metgeseltoestelle soos slimhorlosies en fiksheidspoorsnyers beheer, is dit moontlik om voorgronddienste te begin.
    • In plaas van 'n uitgawe vir draagbare toestelle, het Android Wear saam met Samsung besluit om 'n nuwe verenigde platform te ontwikkel wat die vermoëns van Android en Tizen kombineer.
    • Die vermoëns van Android-uitgawes vir motor-inligtingvermaakstelsels en slim-TV's is uitgebrei.

    Bron: opennet.ru

  • Voeg 'n opmerking