Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Prosta sztuczka Facebooka do obsługi tak wielu różnych urządzeń z Androidem

Anonim

Niektórzy ludzie nazywają to fragmentacją, inni nazywają to wyborem, ale pod dowolną nazwą z pewnością istnieje wiele różnych telefonów z Androidem. Tworzenie aplikacji, które muszą współpracować ze wszystkimi, nie jest łatwym zadaniem. Masz bardzo różne konfiguracje sprzętowe, które powodują dużą różnicę w wydajności, i chociaż jeden plik apk może działać na każdym z nich, nadal istnieje problem z koniecznością płynnego działania aplikacji na urządzeniach z niższej półki, bez poświęcania funkcji na wysokim -end urządzenia. Gdy mówisz o aplikacji tak popularnej jak Facebook, może to szybko stać się koszmarem dla ludzi zajmujących się kodowaniem.

Facebook pokazał wszystkim na Big Android Meat i pozdrawiam nowe rozwiązanie, które jest proste - komponent Device Year Class.

Programiści Facebooka opisują ten nowy składnik oprogramowania w następujący sposób:

Device Year Class to biblioteka systemu Android, która implementuje prosty algorytm odwzorowujący pamięć RAM urządzenia, rdzenie procesora i szybkość zegara na rok, w którym ta kombinacja specyfikacji została uznana za zaawansowaną. Dzięki temu programiści mogą łatwo modyfikować zachowanie aplikacji w zależności od możliwości sprzętu telefonu.

Biblioteka nie zmienia żadnego zachowania w aplikacji. Zwraca wartość (wyrażoną jako rok), która jest przechowywana w kodzie na czas, gdy programiści muszą zmienić sposób działania aplikacji, aby dostosować działanie do określonego rodzaju sprzętu. Oznacza to, że deweloper może napisać aplikację z fantazyjnymi animacjami i przejściami, które będą odtwarzać się zgodnie z przeznaczeniem, gdy działa na czymś takim jak Galaxy Note 4, ale nie może używać słodyczy, gdy aplikacja działa na czymś takim jak Moto E. Jak możesz wyobraź sobie, że tego rodzaju kontrola w aplikacji takiej jak Facebook - która jest instalowana na milionach różnych telefonów - może i zapewni lepsze wrażenia dla prawie każdego. I jest łatwy do wdrożenia. Z dokumentacji GitHub:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

Co najlepsze, biblioteka jest dostępna na licencji open source na licencji BSD (ta sama licencja, której używa Google na źródło Androida) i jest dostępna dla każdego programisty do bezpłatnego korzystania.

Wiemy, że to nie jest magia i jest prawdopodobne, że większość programistów pracujących nad dużymi projektami ma jakąś metodę obsługi różnych konfiguracji sprzętowych. To, co robi klasa urządzeń w roku, to proste i „eleganckie” rozwiązanie dużego problemu, z którego może korzystać każdy.

Strona GitHub klasy Device Year