Android Centrála

Sú si všetky Androidy stvorené rovnako? Softvér robí veľký rozdiel

protection click fraud

Hovorili sme o tom, ako môže hardvér vo vnútri telefónu zmeniť používateľskú skúsenosť. Teraz je čas hovoriť o softvéri.

Softvér je najdôležitejšou súčasťou každého počítača. Či už hovoríme o malom počítači, ktorý držíte vo vrecku, alebo o izbových klastroch veci ako riadenie vesmírnych misií, bez softvéru by fungovali všetky tieto obvody, drôty a čipy nič. Dokonca si vyžaduje softvér na zapnutie a spustenie telefónu skôr, ako ho uvidíte robiť čokoľvek. Bez ohľadu na to, aký drahý alebo nový je hardvér vo vnútri vášho telefónu, bol by zbytočný bez všetkej práce, ktorú ste museli naprogramovať, aby niečo urobil.

V tomto sa zameriame na Android, pretože to je to, čo tu robíme, ale veľa nápadov, o ktorých budeme hovoriť, je rovnakých pre akýkoľvek počítač, ktorý si môžete kúpiť alebo vyrobiť sami. Najväčšie rozdiely (a výzvy) spočívajú v tom, že naše telefóny sú mobilné zariadenia, ktoré nie sú príliš veľké, a to znamená, že všetko sa robí s ohľadom na energetickú účinnosť. Extrémna energetická účinnosť. Potom, čo sú navrhnuté a zostavené správne diely, aby sa pokúsili poskytnúť čo najlepší používateľský zážitok s malým napájacím zdrojom, je čas, aby sa softvérové ​​tímy pustili do práce.

Čo je Android

Toto je Android
Obrazový kredit: Android Open Source Project.

Už sme to spomenuli, ale stojí za to pokryť to znova – Android pravdepodobne nie je taký, ako si myslíte. Toto slovo sa používa niekoľkými rôznymi spôsobmi - Android je značka, Android je operačný systém a Android je zdrojový kód. To, čo Android na základnej úrovni je, je zhluk kódu, ktorý možno použiť na spúšťanie aplikácií. Dodáva sa so základným používateľským rozhraním pre svoje základné funkcie, ale vyžaduje si veľa času a vývoja, aby fungoval na akomkoľvek zariadení, na ktorom je určený.

Zatiaľ čo všetko si potrebu Aby ste museli vytvoriť obraz bootovacieho softvéru, je súčasťou zdrojového kódu systému Android, nemôžete vytvoriť jeden obraz a inštalačný program, ktorý možno použiť pre všetok hardvér. Podpora pre konkrétny hardvér musí byť deklarovaná predtým, ako sa pokúsite zabudovať ho do niečoho, čo bude skutočne fungovať. Akonáhle to urobíte, môžete vytvoriť spustený operačný systém Linux a nainštalovať ho na zamýšľaný cieľ.

Predtým, ako budete môcť čokoľvek odoslať, budete musieť veľa toho vyladiť a prerobiť – to je to, čo máme na mysli, keď hovoríme o optimalizácii.

Operačný systém

AT&T Galaxy S7

Existujú dve úrovne softvéru – operačný systém a jeho pridružené doplnky a aplikácie, ktoré sú nainštalované na spustenie na ňom. Ľudia, ktorí vyrobili váš telefón, sa musia starať nielen o to, aby operačný systém fungoval dobre, ale musia udržiavať kompatibilitu s približne miliónom aplikácií. Všimnite si, že sme povedali „zachovať kompatibilitu“, nič neoptimalizovať pre aplikácie tretích strán. To je úplne iná záležitosť a Google tam robí väčšinu práce s aplikačným rámcom pre Android – všetko, čo musí výrobca telefónu urobiť, je pokúsiť sa nič z toho neporušiť. A to je viac práce, ako si myslíte, pretože tieto spoločnosti menia spôsob, akým Android vyzerá a pôsobí.

Každý model Androidu používa iný softvér.

Žiadne dva modely Androidu nie sú rovnaké. Dokonca aj telefóny od rovnakého výrobcu s rovnakým názvom môžu prevádzkovať rôzny softvér v rôznych regiónoch (alebo pre rôznych zákazníkov – vašu telefónnu spoločnosť) a fungujú. A to dáva zmysel. Nemáme gigabajty úložného priestoru, takže podporujeme každý iný model Samsung Galaxy S7 — existuje viac ako 30 verzií tohto jedného telefónu - zabudované do jedného softvéru nie je praktické. To je dôvod, prečo si napríklad nemôžete stiahnuť aktualizáciu Verizon pre S7 a použiť ju na svojom modeli AT&T. Ale okrem malých zmien vykonaných pre rôzne SKU toho istého modelu je základný softvér používaný vo všetkých Galaxy S7 (s procesorom Qualcomm) rovnaký.

Aby ste pokračovali v našom príklade Galaxy S7, musíte si tiež uvedomiť, že „Touchwiz“ nie je vzhľad ani spúšťač. to je operačný systém. Spoločnosť Samsung preberá základný softvér poskytovaný spoločnosťou Google a mení ho tak, aby lepšie vyhovoval jej potrebám. Spôsob, akým vyzerá, funkcie, ktoré má, a možnosti a nastavenia sú všetky vytvorené spoločnosťou Samsung a pridané do systému Android spôsobom, ktorý stále umožňuje inštaláciu a spúšťanie aplikácií tretích strán. Existuje veľa častí kódu systému Android, ktoré spoločnosť Samsung nemení (alebo nemôže zmeniť), pretože spoločnosť Google vyžaduje, aby sa určité veci uchovávali, aby bolo možné používať ich obchod a aplikácie. Je na Google, aby tieto časti vylepšil a udržiaval, no veľká časť operačného systému je ponechaná na Samsung, aby optimalizoval pre konkrétny hardvér, na ktorý má byť nainštalovaný.

Čo je optimalizácia?

zdrojový kód

Optimalizácia softvéru je nutné zlo. Je to časovo náročné a náročné. Bez toho by však používateľský zážitok utrpel. Google neustále optimalizuje kód Androidu na hardvérovo nezávislej úrovni. Techniky ako rozvinutie slučky, používanie menšieho počtu volaní funkcií a pamäťovo efektívnejších rutín sú veci, ktoré sú prospešné každý zariadenie so systémom Android. Spoločnosť Samsung (v našom príklade) ich však musí rozšíriť o hardvér, ktorý používajú, aby sa znížila celková dĺžka cesty inštrukcií (počet požadovaných cyklov CPU klesá s menším počtom pokynov) a znižuje nároky na pamäť, ako aj stavia na veciach, ako je plánovanie a optimalizácia vyrovnávacej pamäte pre ich špecifický model CPU. To všetko pri pridávaní ďalších funkcií a funkcií používateľovi a zachovaní kompatibility so službou Google Play. Vo všeobecnosti proces prebieha asi takto:

  • Rozhodnite sa, aké funkcie chcú vaši zákazníci. Potom vyhoďte 80% z nich a rozhodnite sa, aké funkcie sú realizovateľné.
  • Definujte konkrétny hardvér, ktorý sa bude používať.
  • Zostavte zavádzaciu verziu operačného systému s požadovanými funkciami, ktoré všetky fungujú.
  • Nájdite úzke miesta, pokúste sa ich opraviť, opláchnite a opakujte.

Nájsť tieto prekážky je ťažké. Ich oprava je ešte náročnejšia. A existuje niekoľko spôsobov, ako to všetko zvládnuť. Jedným zo spôsobov je nepridávať do operačného systému funkcie, ktoré vytvárajú réžiu, čo vám poskytuje menej vecí, ktoré sa môžu pokaziť. Práve tam zažiaril Moto G z roku 2015. Bol to veľmi jednoduchý telefón s veľmi základným softvérom. Po tom, čo talentovaný tím optimalizoval softvér, ktorý bol dodaný v telefóne, išlo o jednu z najplynulejších skúseností s Androidom roka – kým ste do mixu nepridali niekoľko aplikácií zo služby Google Play. Potom sa ukázalo, že hardvér vo vnútri nie je taký schopný robiť veľa vecí naraz ako drahšie telefóny. Použitý hardvér bol lacný, takže telefón mohol byť lacný a optimalizácia softvéru len pre operačný systém bola vynikajúca.

Druhým spôsobom je pokračovať v optimalizácii vašej platformy bez toho, aby ste odstránili žiadne dôležité funkcie, a nechať lepší hardvér, aby minimalizoval dopad. Galaxy S7 je výsledkom každého kúska práce, ktorú tím vývojárov softvéru v Samsungu od r bol predstavený pôvodný Galaxy S, ktorý beží na dostatočne výkonnom hardvéri na to, aby ho doručil hladko a priateľsky balík. Výsledkom je telefón, ktorý je všeobecne chválený priemyselným odvetvím aj používateľmi. Chybné kroky so správou pamäte a pomalosťou, ktoré sme videli, vrátane Galaxy S6, sú takmer preč, a či už máte radi alebo nenávidieť konečný produkt, nemôžete povedať, že to nie je jeden z najlepších telefónov s Androidom, ktoré si dnes môžete kúpiť, pokiaľ ide o výkon.

Správa pamäte

Správa RAM

Nemôžeme odísť od tejto témy bez toho, aby sme sa zaoberali správou pamäte. Je to jeden z pojmov, ktoré sa hádžu okolo, pretože niektorí ľudia vidia nejaký problém, keď robia nejaké veci, a rozbehnutý vlak sa rozbehne. Môže to však byť (a bol) skutočný problém.

Operačný systém rozhoduje o tom, kedy zabiť (ako pri zatvorení a nespustení na pozadí) aplikácie a procesy, ktoré sú uložené v RAM. Zápis a čítanie z pamäte RAM je rýchle – oveľa rýchlejšie ako zápis a čítanie z úložiska. Ale je to obmedzené. Aj telefón so 6GB RAM stále musí mať nastavené parametre pre najlepší výkon. A nie všetka pamäť RAM nainštalovaná vo vašom telefóne je dostupná pre operačný systém. Časti sú vyhradené pre spustenie jadra, použitie GPU a mobilné rádio. Pri zavádzaní je bežné, že sa používa a nie je k dispozícii najmenej 512 MB (alebo viac) pamäte RAM. To je dobrá vec – tieto funkcie potrebujú „okamžitý“ prístup k CPU.

To, čo zostalo, je riadené stupňovito. Niektoré aplikácie a procesy majú vyššiu prioritu ako iné a budú priradené k vyššej vrstve ako iné, niekedy voliteľné, veci, ktoré bežia na pozadí. Keď sa celkové množstvo voľnej pamäte RAM zmenší na vopred definovanú úroveň, procesy sa zastavia podľa priority. Cieľom je udržať v pozadí čo najviac vecí nažive a zároveň ponechať dostatok priestoru na začatie nových vecí. Zatiaľ čo sa tieto nové veci spúšťajú, RAM sa vyprázdni, kým sa nenačítajú dosť a je zachovaná voľná vyrovnávacia pamäť. Preto počujete ľudí hovoriť „voľná RAM je zbytočná RAM“, keď hovoria o Linuxe – Android beží na linuxovom jadre.

Vylepšenie správy pamäte RAM je proces pokusov a omylov. Potom viac pokusov a omylov. Je to ťažké.

Všetky tieto parametre (mimo vyhradenej oblasti pre jadro) sú nastaviteľné ľuďmi, ktorí zostavili operačný systém. Môžu rozhodnúť, koľko pamäte RAM musí zostať voľná a koľko pamäte RAM môže použiť každá vrstva procesov. Môžu tiež napísať svoj softvér tak, aby boli časti priradené ku konkrétnej vrstve v strome. Šikovným trikom je ponechať spúšťač – to, čo vidíte na domovskej obrazovke (obrazovkách) a zásuvke aplikácií – vždy v pamäti RAM. To znamená, že používateľské rozhranie pre veci, s ktorými pravdepodobne strávite najviac času interakciou, je vždy uložené v RAM a bude plynulejší, pretože pri potiahnutí prstom a poklepaní nestrávite čas čítaním z úložiska a zapisovaním do pamäte RAM.

Problémy sa môžu vyskytnúť, keď sa ponechá príliš veľa alebo príliš málo pamäte RAM alebo keď sa príliš veľa vecí „označí“ ako nevyhnutné a zostane v pamäti RAM. Preto môžete napríklad začať písať niečo do formulára na webovej stránke, prepnúť na inú aplikáciu a vrátiť sa, aby ste videli, že všetko, čo ste napísali, je preč, pretože sa stránka musela obnoviť. Systém sa stále bude snažiť ponechať veci, ktoré používate najviac, v pamäti RAM, ale nie je to možné.

Toto všetko je možné opraviť za predpokladu, že je nainštalovaná dostatočná pamäť RAM. Je to ďalšia časť procesu optimalizácie a je ťažké ju správne nastaviť.

Nie všetky Androidy sú si rovné

A to by sme od nich nemali chcieť. Softvér je prispôsobený konkrétnemu použitému hardvéru a súčasťou procesu optimalizácie sú pokusy a omyly a Red Bull. Je to súčasť toho, čo robí každý telefón s Androidom jedinečným a umožňuje každému výber.

instagram story viewer