Някои хора обичат да го наричат фрагментация, други го наричат избор, но по всяко име със сигурност има много различни телефони с Android. Изграждането на приложения, които трябва да работят с всички тях, не е лесна задача. Разполагате с различни хардуерни конфигурации, които допринасят за голяма разлика в производителността и въпреки че един apk файл може да работи на всеки един от тях, все още има проблем с необходимостта от приложение, което да работи безпроблемно на устройства от нисък клас, без да жертвате функции на високо -завършва устройства. Когато говорите за приложение, толкова популярно като Facebook, това бързо може да се превърне в кошмар за хората, които правят кодирането.
Фейсбук показа на всички Android Meat and Greet ново решение, което е просто - компонента Device Year Class.
Разработчиците на Facebook описват този нов софтуерен компонент така:
Device Year Class е библиотека с Android, която реализира прост алгоритъм, който картографира RAM, ядра на процесора и тактова честота на устройството до годината, в която тези комбинации от характеристики се считат за висок край. Това позволява на програмиста лесно да променя поведението на приложението въз основа на възможностите на хардуера на телефона.
Библиотеката не променя поведение в приложението. Тя връща стойност (изразена като година), която се съхранява в кода за моменти, когато програмистът трябва да промени начина, по който приложението работи, за да пригоди опита към определен тип хардуер. Това означава, че един dev може да напише приложение с фантазирани анимации и преходи, които ще се възпроизвеждат по предназначение, когато се изпълнява на нещо като 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“