Android 12 gör det lättare för utvecklare att veta hur kraftfull en enhet är

Android 12 gör det lättare för utvecklare att veta vilka enheter som är kraftfullare än andra med något som kallas "prestandaklass".

Android-enheter finns i alla former och former. Vi har billigare smartphones med svagare specifikationer och dyrare med bättre interna delar. Du som användare kan självklart se om din smartphone kan anses vara "kraftfull" eller inte genom att helt enkelt leta upp dessa specifikationer online. Men hur vet en app som körs på din enhet det? Det kan teoretiskt göra saker som att matcha ditt enhetsnamn mot en databas och sedan hämta specifikationer från det, kontrollera systemegenskaper för SoC-artikelnumret/RAM kapacitet/etc, eller ring Android API: er som listar information som upplösning etc., men det finns inget enkelt, enhetligt sätt att säga vilken typ av prestanda en Android-enhet kan leverera. Det skulle vara användbart om det fanns ett snabbt sätt att gruppera enheter i kategorier så att en app kan ge olika upplevelser som är optimerade för varje enhetsklass. För det ändamålet har Google introducerat kl

I/O 2021 vad de kallar "prestationsklass", börjar med Android 12.

Enligt Google, den här standarden "definierar en uppsättning funktioner som går utöver Androids baslinjekrav. Enheter som uppfyller prestandaklasskraven kan stödja mer krävande användningsfall och leverera innehåll av högre kvalitet." Apputvecklare kan kontrollera vilken prestandaklass en enhet är en del av vid körning och skräddarsy sedan appen för att leverera en upplevelse som drar full nytta av enhetens prestanda. Inledningsvis säger Google att det "fokuserar prestandaklasskapacitet på mediaanvändningsfall, med krav inklusive kamera startfördröjning, codec-tillgänglighet och kodningskvalitet, samt minsta minnesstorlek, skärmupplösning och läs/skriv prestanda."

På sidan för Android-utvecklare, säger Google att varje version av Android har sin egen motsvarande prestandaklass, vilket innebär att det finns en prestandaklass för Android 12 och det kommer att finnas en för Android 13, 14 och så vidare. Prestandaklassen kommer att definieras i Compatibility Definition Document (CDD) för den specifika Android OS-versionen (observera: Android 12:s CDD är inte offentlig ännu) och om eller inte en enhet som faktiskt uppfyller den prestandaklassen upprätthålls av Compatibility Test Suite (CTS), en automatisk uppsättning tester som verifierar kompatibilitet med ett Android OS version.

Prestandaklasser är framåtkompatibla, vilket innebär att en enhet kan uppgradera till en ny Android-version utan att ändras dess prestandaklass, men det betyder också att enheter kan ändra sin klass om de uppfyller kraven för det nya operativsystemet version. Medan konceptet med en prestandaklass introduceras med Android 12, säger Google att det också kommer att definiera en prestandaklass för Android 11. Detta innebär att mycket kapabla enheter som uppgraderar från Android 11 till Android 12 som uppfyller prestandan klasskrav för Android 11 men inte för Android 12 kan fortfarande informera appar om att de presterar högt enheter.

Även om Google inte har delat exakta detaljer om vilka krav som innebär prestandaklassen för Android 12, grävde vi lite och hittade några av kraven. De inkluderar:

  • Minst 6 GB RAM
  • Minst 400dpi och 1080p upplösning
  • Minst 150MB/s sekventiell skrivhastighet, 250MB/s sekventiell läsning, 10MB/s slumpmässig skrivhastighet och 40MB/s slumpmässig läshastighet

Samt andra krav på ett maximalt antal samtidiga videoavkodar- och kodarsessioner, låg codecinitieringsfördröjning, låg mängd uppspelningsbildsfall och mer.

Den här funktionen kan vara användbar för apputvecklare för att förbättra den övergripande upplevelsen på inte bara enheter som uppfyller specifikationerna för "prestandaklass", utan även för telefoner i lägre prisklass. Om en app upptäcker att en telefon inte uppfyller kraven för en enhet i "prestandaklass", kan den stängas av vissa, mer krävande funktioner eller visuella effekter för att förbättra hur appen fungerar på lägre nivåer telefoner. På samma sätt kan de lägga till funktioner på enheter i prestandaklass som telefoner i lägre ände normalt inte skulle stödja utan att kompromissa med upplevelsen för dessa användare.