Android 12 gør det nemmere for udviklere at vide, hvor kraftfuld en enhed er

Android 12 gør det nemmere for udviklere at vide, hvilke enheder der er mere kraftfulde end andre med noget, der kaldes "performance class".

Android-enheder kommer i alle afskygninger. Vi har billigere smartphones med svagere specifikationer og dyrere med bedre interne. Du, som bruger, kan naturligvis se, om din smartphone kan betragtes som "kraftfuld" eller ej, ved blot at slå disse specifikationer op på nettet. Men hvordan ved en app, der kører på din enhed, det? Det kunne teoretisk set gøre ting som at matche dit enhedsnavn mod en database og derefter trække specifikationer fra det, kontrollere systemegenskaber for SoC-varenummer/RAM kapacitet/etc, eller kalde Android API'er, der viser oplysninger som opløsning osv., men der er ingen nem, samlet måde at fortælle, hvilken slags ydeevne en Android-enhed kan aflevere. Det ville være nyttigt, hvis der var en hurtig måde at gruppere enheder i kategorier, så en app kan give forskellige oplevelser, der er optimeret til hver enhedsklasse. Til det formål har Google introduceret kl

I/O 2021 det, de kalder "præstationsklasse", begyndende med Android 12.

Ifølge Google, denne standard "definerer et sæt funktioner, der går ud over Androids grundlæggende krav. Enheder, der opfylder kravene til ydeevneklasse, kan understøtte mere krævende use-cases og levere indhold af højere kvalitet." App-udviklere kan tjekke hvilken ydeevneklasse en enhed er en del af under kørsel, og skræddersy derefter appen til at levere en oplevelse, der fuldt ud udnytter enhedens ydeevne. I første omgang siger Google, at det "fokuserer ydeevneklassekapaciteter på mediebrugssager, med krav, herunder kamera opstartsforsinkelse, tilgængelighed af codec og kodningskvalitet, samt minimum hukommelsesstørrelse, skærmopløsning og læse/skrive ydeevne."

På siden Android-udviklere, siger Google, at hver version af Android har sin egen tilsvarende ydeevneklasse, hvilket betyder, at der er en ydeevneklasse til Android 12, og der vil være en til Android 13, 14 og så videre. Ydeevneklassen vil blive defineret i Compatibility Definition Document (CDD) for den pågældende Android OS-version (bemærk: Android 12's CDD er ikke offentlig endnu) og om eller ikke en enhed, der rent faktisk opfylder den præstationsklasse, håndhæves af Compatibility Test Suite (CTS), et automatiseret sæt af test, der verificerer kompatibilitet med et Android OS version.

Ydelsesklasser er fremadkompatible, hvilket betyder, at en enhed kan opgradere til en ny Android-version uden at ændre sig dens ydeevneklasse, men det betyder også, at enheder kan ændre deres klasse, hvis de opfylder kravene i det nye OS version. Mens konceptet med en ydeevneklasse bliver introduceret med Android 12, siger Google, at det også vil definere en ydeevneklasse til Android 11. Dette betyder, at yderst dygtige enheder, der opgraderer fra Android 11 til Android 12, opfylder ydeevnen klassekrav til Android 11, men ikke til Android 12, kan stadig informere apps om, at de er højtydende enheder.

Selvom Google ikke har delt nøjagtige detaljer om, hvilke krav der indebærer ydeevneklassen til Android 12, har vi gravet lidt og fundet nogle af kravene. De omfatter:

  • Mindst 6 GB RAM
  • Mindst 400 dpi og 1080p opløsning
  • Mindst 150MB/s sekventiel skrive, 250MB/s sekventiel læse, 10MB/s tilfældig skrive, og 40MB/s tilfældige læsehastigheder

Samt andre krav til et maksimalt antal samtidige videodekoder- og encoder-sessioner, lav codec-initialiseringsforsinkelse, lav mængde af afspilningsframe-dråber og mere.

Denne funktion kan være nyttig for app-udviklere til at forbedre den overordnede oplevelse på ikke kun enheder, der opfylder "ydelsesklasse"-specifikationerne, men også for lavere-end telefoner. Hvis en app registrerer, at en telefon ikke opfylder kravene til en enhed i "ydelsesklasse", kan de slukke visse, mere krævende funktioner eller visuelle effekter for at forbedre den måde, appen fungerer på i den lavere ende telefoner. Ligeledes kan de tilføje funktioner på ydeevneklasse-enheder, som lavere-end telefoner normalt ikke ville understøtte uden at kompromittere oplevelsen af ​​disse brugere.