Üks asi, mis iPhone'i kasutamisel tõesti silma paistab, on just see, kuidas sile see tundub võrreldes Androidi kasutamisega. Kus Android on aeglane, kusjuures mõõdetav vaheaeg ekraani puudutamise ja OS reageerib, tundub, et iOS näeb peaaegu ette, mida soovite teha, enne kui sõrm puudutab kuvada.
Kuidas on Apple selle uskumatu saavutusega hakkama saanud? Parem küsimus võib olla järgmine: "Kuidas on Google suutnud Androidi multitouch nii palju ära keerata?" Vastavalt Andrew Munn -tarkvaratehnika üliõpilane ja endine Google'i praktikant-Android on nii sassi läinud, et Google võib seda teha mitte kunagi suutma sobitada iPhone'i või iPadi jõudlust. Oh!
Enne alustamist on siin mõned taustad. Varem on öeldud, et Androidi kasutajaliides on iOS -iga võrreldes aeglane, kuna kasutajaliidese elemente ei kiirendatud riistvaraga enne kärgstruktuuri. Teisisõnu, iga kord, kui Android -telefoni ekraani pühkite, peab protsessor iga piksli uuesti joonistama ja see pole protsessorite jaoks väga hea.
See argument on loogiline, välja arvatud juhul, kui see oleks tõsi, oleks Android lõpetanud Androidi kärgstruktuuri väljaandmisel iOS -iga võrreldes mõõdukalt mahajäämise puutetundlikkuses. Välja arvatud arvata, mida?
Android -seadmed on endiselt lagunevad ka pärast seda, kui neile on kärgstruktuur installitud.Enamiku kaasaegsete Android -telefonide spetsifikatsioonid on samaväärsed või isegi paremad kui iPhone'i omad (näiteks enamik Android -telefone tarnitakse 1 GB muutmäluga, võrreldes iPhone 4S -i 512 MB -ga); probleem pole riistvaras. Milles siis küsimus?
Sellepärast ei saa Android Munni sõnul oma puutetundlikku kasutajaliidest ilma viivituseta renderdada. IOS -is toimuvad kasutajaliidese renderdusprotsessid spetsiaalsete lõimedega reaalajas prioriteediks, peatades muud protsessid ja suunates kogu tähelepanu kasutajaliidese esitamisele. Teisisõnu, iga kord, kui puudutate sõrme oma iPhone'i ekraanile, läheb OS sõna otseses mõttes hulluks: „Keegi puudutab meid! Keegi puudutab meid! Lõpeta kõik muu, mida teed, keegi puudutab meid! ”
Androidis toimuvad kasutajaliidese renderdusprotsessid aga koos põhilõimega normaalne prioriteet. Teisisõnu käsitleb see kasutajaliidese renderdamist samamoodi nagu näiteks podcasti allalaadimist taustal, SMS -ide kontrollimist või midagi muud. Seega segane kasutajaliides.
Siin selgitab Munn, mida see kõik tähendab ja miks Google oli Androidi selliseks kujundamiseks piisavalt rumal.
Androidi kasutajaliides ei muutu kunagi täiesti sujuvaks, kuna alguses puudutasin disainipiiranguid:
- UI renderdamine toimub rakenduse põhilõimel
- UI renderdamisel on tavaline prioriteetIsegi Galaxy Nexuse või neljatuumalise EeePad Transformer Prime'i puhul ei saa kuidagi tagada sujuvat kaadrisagedust, kui need kaks disainipiirangut jäävad kehtima. See on kõnekas, et kolmeaastase iPhone'i sujuvuse saavutamiseks on vaja Galaxy Nexuse jõudu. Miks kujundas Androidi meeskond renderdamisraamistiku niimoodi?
Töö Androidiga algas enne iPhone'i väljaandmist ja sel ajal oli Android kavandatud Blackberry konkurendiks. Algne Androidi prototüüp ei olnud puutetundliku ekraaniga seade. Androidi renderdamise kompromissid on klaviatuuri ja juhtkuuliseadme jaoks mõistlikud. Kui iPhone tuli välja, tormas Androidi meeskond konkurenttoodet välja andma, kuid kahjuks oli kasutajaliidese raamistiku ümberkirjutamiseks liiga hilja.
Miks pole Google just kasutajaliidese raamistikku muutnud? Noh, see on hirmutav ülesanne iga Android Marketis olev rakendus kirjutatakse ümber, et toetada uut raamistikku. See on vähemalt aasta ja võib mitte kunagi juhtuma.
Teisisõnu, et Google saaks Androidi viivitusprobleemidega täielikult hakkama, peab ta põhimõtteliselt vajutama lähtestamisnuppu ja hävitama oma rakenduste ökosüsteemi. iOS seevastu ehitati algusest peale multitouch -nutitelefonide toetamiseks; kurat, Apple oli selle kõrgeim visionäär. Oluline on asjad paika saada.
[kaudu Redmondi pirukas]