Android Centrála

Jsou si všichni Androidi stvořeni rovni? Software dělá velký rozdíl

protection click fraud

Mluvili jsme o tom, jak může hardware uvnitř vašeho telefonu změnit uživatelský dojem. Nyní je čas mluvit o softwaru.

Software je nejdůležitější součástí každého počítače. Ať už mluvíme o malém počítači, který máte v kapse, nebo o clusterech velikosti místnosti, které to dělají věci jako řízení vesmírných misí, bez softwaru by se všechny ty obvody, dráty a čipy obešly nic. K zapnutí a spuštění telefonu je dokonce potřeba software, než jej uvidíte, jak něco dělá. Bez ohledu na to, jak drahý nebo nový je hardware uvnitř vašeho telefonu, byl by k ničemu bez veškeré práce, která byla vynaložena na jeho naprogramování, aby něco dokázal.

V tomto se zaměříme na Android, protože to je to, co zde děláme, ale mnoho nápadů, o kterých budeme mluvit, je stejných pro jakýkoli počítač, který si můžete koupit nebo vyrobit sami. Největší rozdíly (a výzvy) spočívají v tom, že naše telefony jsou mobilní zařízení, která nejsou příliš velká, a to znamená, že vše je děláno s ohledem na energetickou účinnost. Extrémní energetická účinnost. Poté, co jsou navrženy a sestaveny správné díly, aby se pokusily poskytnout nejlepší uživatelský zážitek s malým napájecím zdrojem, je čas, aby se softwarové týmy pustily do práce.

Co je Android

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

Už jsme to zmínili dříve, ale stojí za to to pokrýt znovu – Android pravděpodobně není takový, jak si myslíte. Slovo se používá mnoha různými způsoby – Android je značka, Android je operační systém a Android je zdrojový kód. To, co Android na základní úrovni je, je hromada kódu, který lze použít ke spouštění aplikací. Dodává se se základním uživatelským rozhraním ke svým základním funkcím, ale vyžaduje spoustu času a vývoje, aby fungoval na jakémkoli zařízení, na kterém je určen.

Zatímco všechno ty potřeba Chcete-li vytvořit bitovou kopii zaváděcího softwaru, je součástí zdrojového kódu systému Android, nemůžete vytvořit jedinou bitovou kopii a instalační program, který lze použít pro veškerý hardware. Podpora pro konkrétní hardware musí být deklarována předtím, než se ji pokusíte zabudovat do něčeho, co skutečně poběží. Jakmile to uděláte, můžete sestavit běžící operační systém Linux a nainstalovat jej do zamýšleného cíle.

Než však budete moci cokoli odeslat, budete toho muset hodně vyladit a zatočit – to je to, co máme na mysli, když říkáme optimalizace.

Operační systém

AT&T Galaxy S7

Existují dvě úrovně softwaru — operační systém a jeho přidružené doplňky a aplikace, které jsou nainstalovány, aby na něm běžely. Lidé, kteří vyrobili váš telefon, se nejen musí starat o to, aby operační systém fungoval dobře, ale musí udržovat kompatibilitu s asi milionem aplikací. Všimněte si, že jsme řekli „zachovat kompatibilitu“, neoptimalizovat nic pro aplikace třetích stran. To je úplně jiná věc a Google tam dělá většinu práce s aplikačním rámcem pro Android – vše, co výrobce telefonu musí udělat, je snažit se nic z toho nerozbít. A to je více práce, než si myslíte, protože tyto společnosti mění způsob, jakým Android vypadá a působí.

Každý model Androidu používá jiný software.

Žádné dva modely Androidu nejsou stejné. Dokonce i telefony od stejného výrobce se stejným názvem mohou provozovat různý software v různých regionech (nebo pro různé zákazníky – vaši telefonní společnost), a to tak je. A to dává smysl. Nemáme gigabajty úložného prostoru, takže podpora pro každý jiný model Samsung Galaxy S7 — existuje více než 30 verzí tohoto jednoho telefonu – vestavěný do jednoho softwaru není praktický. To je důvod, proč si například nemůžete stáhnout aktualizaci Verizon pro S7 a použít ji na svém modelu AT&T. Ale kromě malých změn provedených pro různé SKU stejného modelu je základní software používaný ve všech Galaxy S7 (s CPU Qualcomm) stejný.

Abyste se drželi našeho příkladu Galaxy S7, musíte si také pamatovat, že „Touchwiz“ není skin ani spouštěč. To je operační systém. Samsung přebírá základní software poskytovaný společností Google a mění jej tak, aby lépe vyhovoval jeho potřebám. Jak to vypadá, funkce, které má, a možnosti a nastavení jsou všechny vytvořeny společností Samsung a přidány do Androidu způsobem, který stále umožňuje instalaci a spouštění aplikací třetích stran. Existuje mnoho částí kódu Android, které společnost Samsung nemění (nebo nemůže změnit), protože Google vyžaduje, aby byly určité věci uchovány, aby bylo možné používat jejich obchod a aplikace. Je na Googlu, aby tyto části vylepšil a udržoval, ale velká část operačního systému je ponechána na Samsungu, aby optimalizoval pro konkrétní hardware, na který má být nainstalován.

Co je optimalizace?

zdrojový kód

Optimalizace softwaru je nutné zlo. Je to časově náročné a obtížné. Bez něj by ale uživatelská zkušenost utrpěla. Google průběžně optimalizuje kód Androidu na hardwarově nezávislé úrovni. Techniky, jako je rozbalování smyček, používání menšího počtu volání funkcí a rutiny efektivnější z hlediska paměti, jsou věci, které jsou přínosné každý zařízení se systémem Android. Samsung (v našem příkladu) je však musí rozšířit o hardware, který používají, aby snížil celkovou délku instrukční cesty (počet požadovaných cyklů CPU klesá s menším počtem instrukcí) a snižuje nároky na paměť a také staví na věcech, jako je plánování a optimalizace mezipaměti pro jejich konkrétní model PROCESOR. To vše při přidávání dalších funkcí a funkcí uživateli a zachování kompatibility s Google Play. Obecně platí, že proces probíhá nějak takto:

  • Rozhodněte, jaké funkce vaši zákazníci chtějí. Pak 80 % z nich vyhoďte a rozhodněte se, jaké funkce jsou proveditelné.
  • Definujte konkrétní hardware, který bude použit.
  • Sestavte zaváděcí verzi operačního systému s požadovanými funkcemi, které všechny fungují.
  • Najděte úzká místa, zkuste je opravit, opláchněte a opakujte.

Najít ta úzká místa je těžké. Jejich oprava je ještě obtížnější. A existuje několik způsobů, jak to všechno řešit. Jedním ze způsobů je nepřidávat do operačního systému funkce, které vytvářejí režii, což vám přináší méně věcí, které se mohou pokazit. Právě tam Moto G z roku 2015 zazářilo. Byl to velmi jednoduchý telefon s velmi základním softwarem. Poté, co talentovaný tým optimalizoval software dodávaný v telefonu, šlo o jednu z nejplynulejších zkušeností s Androidem roku – dokud jste do mixu nepřidali několik aplikací z Google Play. Pak se ukázalo, že hardware uvnitř není tak schopný dělat mnoho věcí najednou jako dražší telefony. Použitý hardware byl levný, takže telefon mohl být levný, a optimalizace softwaru pouze na operačním systému byla vynikající.

Druhým způsobem je pokračovat v optimalizaci vaší platformy, aniž byste odstranili žádné důležité funkce, a ponechat lepší hardware minimalizovat dopad. Galaxy S7 je produktem každé práce, kterou tým vývoje softwaru ve společnosti Samsung od té doby vykonal Byl představen původní Galaxy S, který běží na dostatečně výkonném hardwaru, aby jej dodal hladce a přátelsky balík. Výsledkem je telefon, který je všeobecně chválen průmyslem i uživateli. Chybné kroky se správou paměti a pomalostí, které jsme viděli, včetně Galaxy S6, jsou téměř pryč, a ať už máte rádi nebo nenávidím finální produkt, nedá se říct, že to není jeden z nejlepších Android telefonů, které si dnes můžete koupit, pokud jde o výkon.

Správa paměti

Správa RAM

Nemůžeme odejít od tohoto tématu, aniž bychom se zabývali správou paměti. Je to jeden z těch termínů, které se objevují, protože někteří lidé vidí nějaký problém, když dělají nějaké věci, a rozjetý vlak se rozjíždí. Může to být (a byl) skutečný problém.

Operační systém rozhoduje o tom, kdy zavřít (např. zavřít a nespouštět na pozadí) aplikace a procesy, které jsou uloženy v paměti RAM. Zápis a čtení z paměti RAM je rychlé – mnohem rychlejší než zápis a čtení z úložiště. Ale je to omezené. I telefon s 6GB RAM stále musí mít nastavené parametry pro nejlepší výkon. A ne všechna paměť RAM nainstalovaná v telefonu je k dispozici pro operační systém. Části jsou vyhrazeny pro spuštění jádra, použití GPU a mobilního rádia. Při spouštění je běžné, že se používá a není k dispozici alespoň 512 MB (nebo více) paměti RAM. To je dobrá věc – tyto funkce potřebují „okamžitý“ přístup k CPU.

To, co zbylo, je spravováno stupňovitě. Některé aplikace a procesy mají vyšší prioritu než jiné a budou přiřazeny na vyšší úroveň než jiné, někdy volitelné, věci, které běží na pozadí. Když se celkové množství volné paměti RAM zmenší na předem definovanou úroveň, procesy jsou zabity podle priority. Cílem je udržet co nejvíce věcí naživu v pozadí a zároveň ponechat dostatek prostoru pro zahájení nových věcí. Zatímco se tyto nové věci spouštějí, RAM se vyprázdní, dokud nemají dostatek k načtení a je zachována volná vyrovnávací paměť. Proto slyšíte lidi říkat „volná RAM je plýtvání RAM“, když mluvíme o Linuxu – Android běží na linuxovém jádře.

Vyladění správy paměti RAM je proces pokusu a omylu. Pak další pokusy a omyly. Je to těžké.

Všechny tyto parametry (mimo vyhrazenou oblast pro jádro) jsou nastavitelné lidmi, kteří vytvořili operační systém. Mohou se rozhodnout, kolik paměti RAM musí zůstat volné a kolik paměti RAM může být využito každou vrstvou procesů. Mohou také napsat svůj software tak, aby části byly přiřazeny ke konkrétní vrstvě ve stromu. Šikovným trikem je ponechat spouštěč – to, co vidíte na domovské obrazovce (obrazovkách) a zásuvce aplikací – neustále v paměti RAM. To znamená, že uživatelské rozhraní pro věci, se kterými pravděpodobně strávíte nejvíce času interakcí, je vždy uloženo v RAM a bude plynulejší, protože při přejíždění a klepání nebudete trávit čas čtením z úložiště a zápisem do paměti RAM.

Problémy mohou nastat, když je ponecháno volné příliš mnoho nebo příliš málo paměti RAM nebo je příliš mnoho věcí „označeno“ jako nezbytné a zůstávají v paměti RAM. To je důvod, proč například můžete začít něco psát do formuláře na webové stránce, přepnout se do jiné aplikace a vrátit se, abyste viděli, že vše, co jste napsali, je pryč, protože se stránka musela obnovit. Systém se stále bude snažit uchovat věci, které používáte nejvíce, v paměti RAM, ale není to možné.

To vše lze opravit za předpokladu, že je nainstalována dostatečná RAM. Je to další část procesu optimalizace a je obtížné ji správně nastavit.

Všichni Androidi nejsou stvořeni sobě rovni

A my bychom po nich neměli chtít. Software je přizpůsoben konkrétnímu použitému hardwaru a pokusy a omyly a Red Bull jsou součástí procesu optimalizace. To je součástí toho, co dělá každý telefon Android jedinečným a umožňuje volbu pro každého.

instagram story viewer