Android 12 улеснява разработчиците да знаят кои устройства са по-мощни от другите с нещо, наречено „клас на производителност“.
Устройствата с Android се предлагат във всякакви форми и форми. Имаме по-евтини смартфони с по-слаби спецификации и по-скъпи с по-добра вътрешност. Вие, като потребител, очевидно можете да разберете дали вашият смартфон може да се счита за „мощен“ или не, като просто потърсите тези спецификации онлайн. Но как приложение, работещо на вашето устройство, знае това? Теоретично може да направи неща като съпоставяне на името на вашето устройство с база данни, след което да изтегли спецификации от това, да провери системните свойства за номера на частта на SoC/RAM капацитет/и т.н. или извикване на Android API, които изброяват информация като разделителна способност и т.н., но няма лесен, унифициран начин да се каже каква производителност може да дадено устройство с Android доставям. Би било полезно, ако имаше бърз начин за групиране на устройства в категории, така че приложението да може да предоставя различни изживявания, които са оптимизирани за всеки клас устройство. За тази цел Google въведе при
I/O 2021 това, което наричат "клас на производителност", като се започне с Android 12.Според Google, този стандарт „дефинира набор от възможности, които надхвърлят базовите изисквания на Android. Устройствата, които отговарят на изискванията за клас на производителност, могат да поддържат по-взискателни случаи на употреба и да доставят по-висококачествено съдържание." Разработчиците на приложения могат да проверят от какъв клас на производителност е част от дадено устройство по време на изпълнение и след това приспособете приложението, за да предостави изживяване, което се възползва напълно от предимствата на устройството производителност. Първоначално Google казва, че „фокусира възможностите за клас на производителност върху случаите на използване на медиите, като изискванията включват камера латентност при стартиране, наличност на кодек и качество на кодиране, както и минимален размер на паметта, разделителна способност на екрана и четене/запис производителност."
На страницата за разработчици на Android, Google казва, че всяка версия на Android има свой собствен съответен клас на производителност, което означава, че има клас на производителност за Android 12 и ще има такъв за Android 13, 14 и т.н. Класът на производителност ще бъде дефиниран в документа за определяне на съвместимостта (CDD) за тази конкретна версия на Android OS (забележка: CDD на Android 12 все още не е публичен) и дали или нито едно устройство всъщност не отговаря на този клас на производителност, което се налага от Compatibility Test Suite (CTS), автоматизиран набор от тестове, който проверява съвместимостта с Android OS версия.
Класовете на производителност са съвместими напред, което означава, че устройството може да надстрои до нова версия на Android без промяна неговия клас на производителност, но също така означава, че устройствата могат да променят своя клас, ако отговарят на изискванията на тази нова операционна система версия. Докато концепцията за клас на производителност се въвежда с Android 12, Google казва, че ще дефинира и клас на производителност за Android 11. Това означава, че устройства с много възможности, надграждащи се от Android 11 до Android 12, които отговарят на производителността изискванията за клас за Android 11, но не и за Android 12, все още могат да информират приложенията, че са с висока производителност устройства.
Въпреки че Google не сподели точни подробности за това какви изисквания включва класа на производителност за Android 12, ние се поровихме малко и открихме някои от изискванията. Те включват:
- Поне 6GB RAM
- Най-малко 400dpi и 1080p резолюция
- Най-малко 150MB/s последователно записване, 250MB/s последователно четене, 10MB/s произволно записване и 40MB/s произволно четене
Както и други изисквания за максимален брой едновременни сесии на видео декодер и енкодер, ниска латентност при инициализация на кодека, малко количество кадри за възпроизвеждане и др.
Тази функция може да бъде полезна за разработчиците на приложения, за да подобрят цялостното изживяване не само на устройства, отговарящи на спецификацията за „клас на производителност“, но и за телефони от по-нисък клас. Ако дадено приложение установи, че телефонът не отговаря на изискванията за устройство с „клас на производителност“, то може да се изключи определени, по-взискателни функции или визуални ефекти, за да се подобри начина, по който приложението работи на по-нисък клас телефони. По същия начин те могат да добавят функции към устройства с клас на производителност, които телефоните от по-нисък клас обикновено не биха поддържали, без да компрометират опита на тези потребители.