Proč je iOS plynulejší než Android

20

Tak jako má Android bezpočet výhod a kladů oproti jiným mobilním operačním systémům, musíme připustit i zápory, a jedním z nich je to, že Apple iOS i Windows Phone 7.(5) je plynulejší než Android, čím to je?

A právě na tuto otázku se pokusil Inženýr z Googlu  Andrew Munn nalézt pomocí Google+ příspěvku odpověď. Rozdíl mezi iOS nebo WP7 a Androidem je prý hlavně v tom, že Android provádí vykreslování v hlavním aplikačním vlákně s normální prioritou. Oproti tomu WP7 nebo iOS vykresluje ve vedlejším vlákně, které má navíc maximální prioritu a je tedy zpracováno takřka v reálném čase.

Android díky tomu, v případě, že se zároveń provádí nějaká náročnější práce na pozadí, reaguje na uživatelský vstup s lehkým zpožděním. Například když se načítá webová stránka, tahají z databáze obrázky alb nebo podobně. Naopak u iOS, když započne uživatelský vstup a bylo by tedy teoreticky nutné překreslení, tak se veškeré práce na pozadí pozastaví a všechen potřebný čas procesoru je přenechán vykreslovacímu vláknu.

Toto řešení vykreslování je v Androidu z historických důvodů. Původně byl totiž systém plánován spíše pro zařízení s klávesnicí u kterých není takřka instantní odezva až zas tak důležitá. S příchodem a úspěchem iPhone se ale zaměření Androida změnilo a na přepsání vykreslovacího frameworku již nezbyl čas.

A nyní by již jeho přepracování bylo příliš složité. S předáním vykreslování do externího vlákna by totiž vznikla nekompatibilita se současnými aplikacemi a musel by se tak řešit nějaký duální mód, který by nakonec z největší pravděpodobnosti stejně ničemu nepomohl.

„Není to tím, že Android běží na byte kódu a iOS běží na nativním kódu. Je to pro to, že na iOS se vykreslování všech UI objevuje ve speciálním UI vlákně s časovou prioritou, kdežto u Androidu se užívá klasický PC model vykreslování na hlavním vlákně s normální (stejnou) prioritou.“ – Andrew Munn

Zdroj: SlashGear

 

20 KOMENTÁŘE

    • Víceméně to není ani možné. Bylo by totiž potřeba přespat vykreslovací framwork a tím znehodnotit veškeré aplikace.
      Nicméně dle jeho názoru, se to jednou udělat bude muset.

  1. Otazka zni spis, chceme s tim neco delat? Prece jen nacitani stranky nebo synchronizace jsou obcas dulezitejsi nez to ze se mi zadrhnou omalovanky….Myslim ze reseni prichazi s vicejadrovymi procesory….

  2. Pánové styďte se, naprosto zcestný překlad, absolutně mimo smysl originálního článku, Ať to přeloží a vysvětlí někdo kdo tomu rozumí, nejlépe programátor, to co píšete vy je jen zmatený překlad někoho, kdo tomu nerozumí :-/.

    • Neřekl bych naprosto zcestný. Uznávám, že v něm byla i poměrně výrazná odchylka, nicméně stále vystihoval hlavní jádro problému.

  3. Jestli je to přeložený alespoň ve smyslu, tak stejně díky, nechci. Pokud je telefon „mrtvej“ jakmile jezdím po displayu nebo jak se něco vykresluje (proto to nemá Live Wallpaper?) tím myslím jako menu dalších obrazovek, tak dík, ale ať raději v klidu chroustá v pozadí, to semtam škubnutí mě nevyrve…

  4. Dobrý den. Hledám po celém internetu. Mám telefon samsung nexus S s androidem 2.3.6 lze stahovat(instalovat) aplikace z pc které mám stahle ve svém pc pokud ano jak? Moc děkuji

    • Ano, lze. Stačí je někde sehnat ve formátu .apk, nakopírovat do zařízení a následně spustit. Osobně ale doporučuji spíše využít Android market. Cesta skrze .apk totiž nemusí být bezpečná (balíček může být upraven, zavirován etc.)

  5. To je celkem nešťastný postoj a přiznám se jedna z věcí, která se mi na androidu nelíbí.
    Je tu však otázka, kolik zákazníku je s touto featurou nespokojených?
    A v zápětí na to by mohla vzejít další otázka – co je přednější? Kvalitní OS nebo peníze?

  6. Mam Xiaomi Mi4 s MIUI na bazi androidu, a nejake pomalejsi reakce telefonu nepozoruji. MIUI je poerfektne vyladeny, a vse slape jak ma. Oproti iPhone jsem za nej dal polovicni cenu…

Napsat komentář: Petr Houška Zrušit odpověď

Please enter your comment!
Please enter your name here