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

 

  • A hodla se s tim do budoucna neco delat?

    • Petr Houška

      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.

  • tombik

    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….

  • Roman

    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í :-/.

    • Petr Houška

      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.

  • Jimmy

    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…

  • Teď jsem si hrál chvilku s iPhone 3GS a přišlo mi , že byl spíš méně plynulý než moje Desire HD, než naopak. Asi záleží..

    • Petr Houška

      Co si budeme povídat, 3GSko je již starší model. Desire HD naopak poměrně novinka.

  • jaster_ba

    Novy? Je to rok stara sunka…teda expresivne povedane…sam mam desire a nestazujem sa…

  • Jan Gerža

    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

    • Petr Houška

      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.)

      • Jan Gerža

        Mám staženou aplikaci ve formátu .apk a když ji vložím do přístroje tak se mi nikde objěví

        • Martin London

          apk subor si uloz na microSD kartu a potom ho v mobile cez nejaky file manager najdi a spusti instalaciu.

          • Jan Gerža

            jak jsem již říkal mám mobil samsung nexus s a ten nema sd kartu má pouze interní pamět

        • Petr Houška

          Musíte ji najít přes nějaký souborový manažer a následně „zapnout“ nainstalovat. (Prostě na ni kliknete)

          • Jan Gerža

            Moc děkuji za ochotu a stravený čas už jsem na to došel 🙂

  • Josef Němec

    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?

  • Ale věřím, že se jim časem podaří OS doladit. Jistě ho chtějí zlepšit a ne zhoršit.

  • Zdeněk Dez Berëza

    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…

    • Zdeněk Dez Berëza

      ted koukam, ze to je 3 roky stary clanek, tak to se ani nedivim obsahu 🙂