Logo fi.androidermagazine.com
Logo fi.androidermagazine.com

Facebookin yksinkertainen temppu niin monien erilaisten Android-laitteiden palvelemiseen

Anonim

Jotkut ihmiset haluavat kutsua sitä pirstoutumiseksi, toiset kutsuvat sitä valinnaksi, mutta millä tahansa nimellä on varmasti paljon erilaisia ​​Android-puhelimia. Sovellusten rakentaminen, joiden on toimittava kaikkien kanssa, ei ole helppo tehtävä. Sinulla on villisti erilaisia ​​laitteistokonfiguraatioita, jotka tekevät suurista eroista suorituskyvyssä, ja vaikka yksi apk-tiedosto voi toimia jokaisessa niistä, on yhä kysymys sovelluksen toiminnan sujuvuudesta huippuluokan laitteissa uhraamatta ominaisuuksia korkealla -päälaitteet. Kun puhut yhtä suositusta sovelluksesta kuin Facebook, siitä voi nopeasti tulla painajainen koodaaville ihmisille.

Facebook näytti kaikille Big Android Meat -palvelussa ja tervehti uutta yksinkertaista ratkaisua - Device Year Class -komponenttia.

Facebookin kehittäjät kuvaavat tätä uutta ohjelmistokomponenttia seuraavasti:

Device Year Class on Android-kirjasto, joka toteuttaa yksinkertaisen algoritmin, joka kartoittaa laitteen RAM: n, CPU-ytimet ja kellonopeuden siihen vuoteen, jolloin näiden teknisten yhdistelmien katsottiin olevan kalliimpia. Tämän avulla kehittäjä voi helposti muuttaa sovelluksen käyttäytymistä puhelimen laitteiston ominaisuuksien perusteella.

Kirjasto ei muuta sovelluksen käyttäytymistä. Se palauttaa koodiin tallennetun arvon (vuodessa ilmaistuna) aikoina, jolloin kehittäjän on muutettava sovelluksen toimintatapaa räätälöidäksesi kokemuksen tietyntyyppiselle laitteistolle. Tämä tarkoittaa, että dev voi kirjoittaa sovelluksen, jossa on fancy animaatioita ja siirtymiä, jotka pelaavat suunnitellulla tavalla, kun ajavat jotain Galaxy Note 4: tä, mutta eivät käytä silmäkarkkia, kun sovellus on käynnissä jollain Moto E: llä. Kuvittele, tämäntyyppinen hallinta esimerkiksi Facebook-sovelluksessa, joka on asennettu miljooniin ja miljooniin eri puhelimiin, voi ja tekee paremmasta kokemuksesta melkein kaikille. Ja se on helppo toteuttaa. GitHubin dokumentaatiosta:

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

Mikä parasta, kirjasto on avoimen lähdekoodin BSD-ohjelmistolisenssillä (sama lisenssi, jota Google käyttää Android-lähteelle), ja se on kaikkien kehittäjien käytettävissä maksutta.

Tiedämme, että tämä ei ole taikuutta, ja on todennäköistä, että useimmilla isojen projektien parissa työskentelevillä kehittäjillä on jonkinlainen menetelmä käsitellä erilaisia ​​laitteistokokoonpanoja. Laitteiden vuosiluokka tarjoaa yksinkertaisen ja "tyylikkään" ratkaisun suureen ongelmaan, ja kuka tahansa voi käyttää sitä.

Laitteen vuosiluokan GitHub-sivu