Gå til innhold

Hvorfor er Android så avhengig av mange kjerner og høy klokkefrekvens?


Anbefalte innlegg

En stor del av årsaken til hakking i Android er nok at minnehåndteringsmodellen i Java benytter garbage collection. Uten masse ledig minne (vi snakker da minst 5-6 ganger mer enn det applikasjonen trenger), så er det svært krevende å unngå små pauser i eksekveringen av kode når garbage collection prosessen inntreffer.

Dette forklares særdeles grundig i denne artikkelen:

http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

Den fokuserer mest på web-applikasjoner og javascript, men det samme problemet har du i Java når det benyttes til GUI operasjoner som ikke tåler selv minimale pauser uten at det merkes.

 

 

GC blir adressert i nye ART i Lollipop:

 

ART improves garbage collection in several ways:

  • One GC pause instead of two
  • Parallelized processing during the remaining GC pause
  • Collector with lower pause time for the special case of cleaning up recently-allocated, short-lived objects
  • Improved garbage collection ergonomics, making concurrent garbage collections more timely, which makesGC_FOR_ALLOC events extremely rare in typical use cases
Lenke til kommentar
Videoannonse
Annonse

Apples prosessor ser jo ut til å yte bedre til tross for lavere klokkefrekvens, noe som bringer oss tilbake til trådens tema.

Hvorfor ser det ut til at Android er mer tungdrevet enn iOS og WP?

 

Også har man jo ting som batteribruk:

https://gigaom.com/2014/08/20/all-things-being-equal-windows-phone-beats-android-for-battery-life-for-now/

 

Dette får vi se om fikses i Android L.

Jeg ser du fint ignorerer kommentarene om forskjellig at IPC på prosessorene forklarer det, ikke OS-et. Jeg ser du også ignorerer at det er plenty av tester hvor de iOS enhetene er tregere, men de er kanskje ikke relevante?

Lenke til kommentar

Syns disse to artiklene svarer spørsmålet ditt ganske fint:

 

http://appleinsider.com/articles/11/12/07/former_google_intern_explains_why_ui_lag_occurs_more_often_in_android_than_ios

 

http://siliconstation.com/the-story-android-lag-ios/

 

Hvis jeg selv har skjønt det riktig, så er hovedgrunnen til hvorfor Android er som oftest mer laggy enn iOS er at Android sitt GUI (Grafiske brukersnitt) kjører java, og med java så krever dette sin egen virtuell maskin, som lignende er en Java Runtime Enviroment vi har installert på pcen. Men istedet for å bruke en JRE i pc-versjon, så har Android sin egen mobil-versjon kalt Dalvik. For at Dalvik skal generere eller rende GUI'et mest mulig effektivt, så krever det mye prosesskraft, og slik er det bare med Dalvik.

 

Men, ettersom Android nå har kommet med et nytt "JRE", kalt ART for Android Runtime, så vil denne klare å generere eller rende GUI'et mer effektivt enn Dalvik, og det med mindre kraft. Som sagt så er ART ganske nytt, men den skal f.o.m Android 5.0 kjøres som standard runtime. Vi har sett at på den nye Android 5.0 så fokuserer de veldig mye på animasjon i GUI'et, og dette virker som at Google virkelig stoler på at ART skal gjøre det skikkelig bra på å kjøre appene veldig smooth. Men dette får vi bare vente med å se ettersom ART og 5.0 ganske er nytt.

Lenke til kommentar

Syns disse to artiklene svarer spørsmålet ditt ganske fint:

 

http://appleinsider.com/articles/11/12/07/former_google_intern_explains_why_ui_lag_occurs_more_often_in_android_than_ios

 

http://siliconstation.com/the-story-android-lag-ios/

 

Hvis jeg selv har skjønt det riktig, så er hovedgrunnen til hvorfor Android er som oftest mer laggy enn iOS er at Android sitt GUI (Grafiske brukersnitt) kjører java, og med java så krever dette sin egen virtuell maskin, som lignende er en Java Runtime Enviroment vi har installert på pcen. Men istedet for å bruke en JRE i pc-versjon, så har Android sin egen mobil-versjon kalt Dalvik. For at Dalvik skal generere eller rende GUI'et mest mulig effektivt, så krever det mye prosesskraft, og slik er det bare med Dalvik.

 

Men, ettersom Android nå har kommet med et nytt "JRE", kalt ART for Android Runtime, så vil denne klare å generere eller rende GUI'et mer effektivt enn Dalvik, og det med mindre kraft. Som sagt så er ART ganske nytt, men den skal f.o.m Android 5.0 kjøres som standard runtime. Vi har sett at på den nye Android 5.0 så fokuserer de veldig mye på animasjon i GUI'et, og dette virker som at Google virkelig stoler på at ART skal gjøre det skikkelig bra på å kjøre appene veldig smooth. Men dette får vi bare vente med å se ettersom ART og 5.0 ganske er nytt.

Veldig flott informasjon du kom med der. Interessant.

 

Dog har det jo vært litt bugs med android 5.0. Bare å lese i Nexus 9 tråden. Det var ikke så mye lag, men heller at ting frøys. Og så ser man i videoen jeg postet på første siden at den ikke holder helt følge med iPad Air 2, i åpning av programmer etc. Men det kan jo endres når 5.0 får litt flere oppdateringer. Kan hende det har noen barne sykdommer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...