З Android 12 розробникам легше дізнатися, наскільки потужний пристрій

Завдяки Android 12 розробникам легше знати, які пристрої потужніші за інші, що називається «класом продуктивності».

Пристрої Android бувають різних форм. У нас є дешевші смартфони зі слабкішими характеристиками і дорожчі з кращими внутрішніми характеристиками. Ви, як користувач, очевидно, можете визначити, чи можна вважати ваш смартфон «потужним» чи ні, просто подивившись ці характеристики в Інтернеті. Але як програма, запущена на вашому пристрої, дізнається про це? Теоретично це може робити такі речі, як порівняння назви вашого пристрою з базою даних, а потім отримання специфікацій із цього, перевірка системних властивостей для номера деталі SoC/RAM ємність/і т.д., або викликати Android API, які перераховують інформацію, як-от роздільна здатність тощо, але немає простого уніфікованого способу визначити, яку продуктивність може отримати пристрій Android доставити. Було б корисно, якби існував швидкий спосіб групувати пристрої за категоріями, щоб програма могла надавати різні можливості, оптимізовані для кожного класу пристроїв. З цією метою Google представив at

I/O 2021 те, що вони називають «клас продуктивності», починаючи з Android 12.

За даними Google, цей стандарт "визначає набір можливостей, які виходять за рамки базових вимог Android. Пристрої, які відповідають вимогам класу продуктивності, можуть підтримувати складніші сценарії використання та надавати якісніший вміст». Розробники додатків можуть перевірити до якого класу продуктивності відноситься пристрій під час виконання, а потім адаптувати програму, щоб забезпечити роботу, яка повністю використовує всі переваги пристрою продуктивність. Спочатку Google каже, що «зосереджує можливості класу продуктивності на випадках використання медіа, з вимогами, включаючи камеру затримка запуску, доступність кодека та якість кодування, а також мінімальний розмір пам’яті, роздільна здатність екрана та читання/запис продуктивність».

На сторінці розробників AndroidGoogle каже, що кожна версія Android має відповідний клас продуктивності, тобто є клас продуктивності для Android 12 і буде один для Android 13, 14 і так далі. Клас продуктивності буде визначено в документі визначення сумісності (CDD) для конкретної версії ОС Android (примітка: CDD для Android 12 ще не є загальнодоступним) і чи жодний пристрій насправді не відповідає цьому класу продуктивності, що забезпечується Compatibility Test Suite (CTS), автоматизованим набором тестів, який перевіряє сумісність з ОС Android версія.

Класи продуктивності сумісні вперед, що означає, що пристрій можна оновити до нової версії Android без змін його клас продуктивності, але це також означає, що пристрої можуть змінити свій клас, якщо вони відповідають вимогам нової ОС версія. Хоча концепція класу продуктивності вводиться в Android 12, Google каже, що також визначить клас продуктивності для Android 11. Це означає, що високопродуктивні пристрої оновлюються з Android 11 до Android 12, які відповідають продуктивності вимоги до класу для Android 11, але не для Android 12, все ще можуть інформувати додатки про їх високу продуктивність пристроїв.

Хоча Google не поділився точними відомостями про вимоги до класу продуктивності для Android 12, ми трохи покопались і знайшли деякі вимоги. Вони включають:

  • Принаймні 6 ГБ оперативної пам'яті
  • Мінімальна роздільна здатність 400 dpi та 1080p
  • Принаймні швидкість послідовного запису 150 МБ/с, послідовного читання 250 МБ/с, випадкового запису 10 МБ/с і випадкового читання 40 МБ/с

А також інші вимоги щодо максимальної кількості одночасних сеансів відеодекодера та кодера, низької затримки ініціалізації кодека, низької кількості кадрів відтворення тощо.

Ця функція може бути корисною для розробників додатків, щоб покращити загальний досвід не лише на пристроях, які відповідають специфікаціям «класу продуктивності», а й на телефонах нижчого класу. Якщо програма виявляє, що телефон не відповідає вимогам до пристрою «класу продуктивності», вона може вимкнутися певні, вимогливіші функції або візуальні ефекти, щоб покращити роботу програми на нижчому рівні телефони. Так само вони можуть додавати функції на пристроях класу продуктивності, які зазвичай не підтримують телефони нижчого класу, без шкоди для досвіду цих користувачів.