
Деякі люди люблять називати це фрагментацією, інші називають це вибором, але за будь-яким іменем, безумовно, є безліч різних телефонів Android. Побудувати додатки, з якими потрібно працювати з усіма ними, - непросте завдання. У вас є надзвичайно різні конфігурації апаратних засобів, які суттєво різняться у продуктивності, і навіть хоча один apk-файл може працювати на кожному з них, все одно виникає проблема необхідності програми для безперебійного запуску на пристроях низького класу, не жертвуючи функціями на високому рівні -закінчити пристрої. Коли ви говорите про такий популярний додаток, як Facebook, це може швидко стати кошмаром для людей, що роблять кодування.
Facebook показав усім на Big Android Meat and Greet нове просте рішення - компонент Device Year Class.

Розробники Facebook описують такий новий програмний компонент, як цей:
Device Year Class - це бібліотека Android, яка реалізує простий алгоритм, який відображає оперативну пам’ять, серцевини процесора та тактову частоту пристрою на рік, коли ці поєднання специфікацій вважалися високими. Це дозволяє розробнику легко змінювати поведінку програми на основі можливостей апаратури телефону.
Бібліотека не змінює жодної поведінки в додатку. Він повертає значення (виражене як рік), яке зберігається в коді в часи, коли розробнику потрібно змінити спосіб роботи програми, щоб адаптувати досвід до певного типу обладнання. Це означає, що розробник може написати додаток із фантазійними анімаціями та переходами, які будуть грати за призначенням під час роботи на щось на зразок Galaxy Note 4, але не використовувати приємні для очей, коли додаток працює на щось на зразок Moto E. Як ви можете Уявіть собі, такий контроль над додатком, як Facebook, який встановлений на мільйонах і мільйонах різних телефонів, - може і дозволить покращити досвід майже для всіх. І це легко здійснити. З документації на GitHub:
if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }
Найкраще, що бібліотека працює з ліцензією на програмне забезпечення BSD (таку саму ліцензію Google використовує для джерела Android) та доступна для кожного розробника безкоштовно.
Ми знаємо, що це не магія, і, ймовірно, більшість розробників, що працюють над великими проектами, мають якийсь метод для обробки різних конфігурацій обладнання. Те, що робить рік класу пристроїв, - це надання простого і «елегантного» рішення великої проблеми, і кожен може ним скористатися.
Сторінка класу Рік пристрою 'GitHub



