Logo hu.androidermagazine.com
Logo hu.androidermagazine.com

A Facebook egyszerű trükkö annyi különféle Android készülék kiszolgálására

Anonim

Vannak, akik töredezettségnek nevezik, mások választásnak hívják, de minden név szerint minden bizonnyal sokféle Android telefon található. Az olyan alkalmazások készítése, amelyeknek mindegyikkel együtt kell működniük, nem könnyű feladat. Vadul eltérő hardverkonfigurációkkal rendelkezik, amelyek nagy különbségeket okoznak a teljesítményben, és bár egy apk fájl képes működni mindegyikükön, továbbra is fennáll a kérdés, hogy szükség van egy alkalmazásra, hogy zökkenőmentesen működjön az alacsonyabb kategóriájú készülékeken anélkül, hogy a szolgáltatások magas szintű feláldozását okozná. -end eszközök. Amikor olyan népszerű alkalmazásról beszél, mint a Facebook, ez gyorsan rémálommá válhat a kódoló emberek számára.

A Facebook mindenkinek megmutatta a Big Android Meat-en, és köszöntött egy új, egyszerű megoldást - az eszközév osztály komponensét.

A Facebook fejlesztői így írják le az új szoftverösszetevőt:

A Device Year Class egy olyan Android könyvtár, amely egy egyszerű algoritmust valósít meg, amely leképezi az eszköz RAM-ját, CPU-magjait és az órasebességet arra az évre, ahol a specifikációk ilyen kombinációját csúcspontnak tekintik. Ez lehetővé teszi a fejlesztők számára, hogy az alkalmazás viselkedését a telefon hardverének lehetőségei alapján egyszerűen módosítsák.

A könyvtár nem változtatja meg az alkalmazás viselkedését. Visszaad egy értéket (egy évben kifejezve), amely a kódban tárolódik olyan esetekben, amikor a fejlesztőnek meg kell változtatnia egy alkalmazás működési módját, hogy az élményt egy adott hardver típushoz igazítsa. Ez azt jelenti, hogy a dev képes alkalmazást írhat díszes animációkkal és átmenetekkel, amelyek a kívánt módon fognak játszani, ha valami olyanra futnak, mint a Galaxy Note 4, de nem használják a cukorkát, amikor az alkalmazás valami Moto E-en fut. Képzelje el, hogy ez a fajta vezérlés egy olyan alkalmazásban, mint a Facebook - amelyet millióra és millióra különféle telefonokra telepítenek - jobb élményt nyújt és szinte mindenki számára biztosít. És könnyen végrehajtható. A GitHub dokumentációjából:

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

A legjobb az, hogy a könyvtár nyílt forrású, a BSD szoftver licenc alapján (ugyanazt a licencet használja a Google az Android forráshoz), és minden fejlesztő számára ingyenesen elérhető.

Tudjuk, hogy ez nem varázslat, és valószínű, hogy a nagy projektekkel foglalkozó fejlesztők többsége rendelkezik valamilyen módszerrel a különböző hardverkonfigurációk kezelésére. Amit az eszközosztály végez, az egyszerű és "elegáns" megoldást kínál egy nagy problémára, és bárki használhatja.

Készülékév osztály "GitHub oldal