Tid för start av appar, iPhone vs X10 Mini

Diskussion i 'Allmänt' startad av brakjoller, 24 okt 2010.

  1. brakjoller

    brakjoller Kid Droid Medlem

    Blev medlem:
    21 jun 2010
    Inlägg:
    70
    Mottagna gillanden:
    1

    MINA ENHETER

    Låt mig börja med att säga att jag är en Google och Android fanboy, gillar "öppet" mer än "stängt" osv (kör enbart GNU/Linux hemma, "hatar" proprietär programvara och kör Emacs...). Att köpa en iPhone är för mig uteslutet, dels av praktiska skäl (mer öppen plattform på många sätt, bara det att man kan byta ut sms-program, kalender osv är grymt!) men även ideologiska. Detta sagt för att ingen skall tro att jag är ett Apple-troll.

    Now... Min sambo har blivit chef och it-avdelningen på hennes arbetsplats har gett henne en iPhone (3G S) som arbetstelefon. Jag måste förstås pilla lite för att försöka förstå hypen bakom iPhone. Det är en juste apparat, miljön är väl uttänkt och alla appar funkar bra, och det verkar vara en rejäl (som i bastant och med bra kvalitet) hårdvara, dock något tung för min smak (inte så konstigt om man är van med en Mini kanske).

    Något jag undrar över är hur den (iPhone) i flera hänseenden kan kännas snabbare än min X10 Mini, då de har samma processorhastighet (okej, processorer kan skilja sig i arkitektur osv). Speciellt känns den väldigt snabb på att starta alla appar (har bara testat de som följer med som standard). Jag skriver "känns" då det faktiskt kan vara "fusk" bakom kulisserna (mer om det senare).

    Jag vet lite grann både om utveckling av Android och iPhone (kan mer om Android) och undrar vad i arkitekturen det är som gör skillnaden. Har det med skillnaden i multitasking att göra (på Android kan "alla" program köras i bakgrunden men på iPhone tillåts bara utvalda program att göra det)? Enligt Google och alla som tycker sig veta så skall inte ett program utnyttja annat än minne om det ligger i bakgrunden och är i viloläge, så det bör inte påverka mycket. Antar att iPhone precis som Android har vissa grundläggande bakgrundsprocesser som alltid körs och som borde suga kraft där också.

    Eller har det kanske med programmeringsspråket att göra, dvs att allt körs nativekompilerat från Objective-C och inte en kombination av native och interpreterat (Javas bytecode alltså) som på Android?

    Eller har det med de där, hmm, minns inte vad det hette, "blobbarna" (minns inte namnet men ni som kan iPhone vet nog vad jag menar) som sparas ner när ett program dödas och som sedan blixtsnabbt läses in innan programmet egentligen är i gång och kör på riktigt?

    Någon som kan båda plattformarna hyfsat väl och vill kommentera? Anledningen till att jag undrar är att även om jag älskar min lilla Mini så är den ibland seg och jag vill förstå varför och vad det är i Android som skiljer sig så från iOS (om det inte bara har att göra med just min modell och att jag kör Android 1.6 vill säga) i upplevd snabbhet.

    Hoppas på en intressant diskussion.

    Tack!
     
  2. foobar17

    foobar17 Kid Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    56
    Mottagna gillanden:
    11

    MINA ENHETER

    En av möjligen flera förklaringar ligger i skillnaden mellan exekveringshastighet av Objective-C respektive Dalvik-Java. Om ryktena stämmer gällande nästa stora Android release, så ska det finnas en JIT till Dalvik motorn, vilket lär snabba upp exekveringen.

    I Javas barndom (andra halvan av 90-talet) var exekveringen av SUN-Java löjligt långsam, men med först vanilla JIT (Just In Time compilation) som kompilerade all kod till native och sedan steg för steg med HotSpot JIT, som bara kompilerade när det behövdes och sedan gradvis optimerade, så har Java motorn blivit mycket mycket snabbare, framför allt på server system, där man ju inte har problem med "uppvärmningstiden". Även skräpsamlingen (GC) har utvecklats enormt under åren, och tagit bort "stop-the-world" syndromet, då allt stannade av, till förmån för sofistikerad inkrementell GC.

    Så, vi kan nog de närmsta åren se en liknande utveckling för Dalvik-Java. Jag har inte börjat kika iPhone programmering ännu, så jag kan bara gissa baserat på spridda iakttagelser.

    Men det synes mig som om iPhone OS är konstruerat som ett single-task OS och att man med iPhone 4 varit tvingad att i efterhand peta in multi-tasking. De är lite grann som att kika på utveckling av Windows-3 till Windows-95 (alltså inte Win-NT, som modern Windows bygger på Win7 = WinNT7). Eller, gamla MacOS, från 80-talet och fram till OS-X (NextStep-OS = SUN NeWS)

    Å andra sidan är Android byggd på en strippad Linux kärna, vilket tillhandahöll multi-tasking från första början. Varje Android applikation kör som en egen process, med en egen Dalvik-JVM.

    Eftersom, det inte finns något specifikt hinder för att bygga applikationer i ett annat språk än Java (utöver API:et), så skulle man kunna tänka sig en utveckling framöver till att erbjuda andra språk som t.ex. just Objective-C för Android. En liknande evolvering för iPhone OS tror jag mindre på, eftersom (i vanlig Apple ordning) allt är väldigt starkt knytet till allt annat.

    Så, ja; f.n. är en iPhone märkbart snabbare än en Android, men det är bara en tidsfråga innan detta kommer att ändras, både av tekniska skäl men också marknadsskäl (flera tillverkare/enheter ger volymfördelar och snabbare hårdvaru evolvering).
     
  3. Raketostkostym

    Raketostkostym Adult Droid Medlem

    Blev medlem:
    28 mar 2010
    Inlägg:
    562
    Mottagna gillanden:
    24

    MINA ENHETER

    Detta kanske är lite off-topic men lagringmediet på en Iphone är bra mycket snabbare än micro-sd kort, vilket bidrar en del också, i alla fall när det kommer till appar man lagrat på sd-kortet i Android, bilder och musik. :)
     
  4. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Finns redan. Det kom i Android 2.2.
    Däremot hoppas vi på hårdvaruaccelerering inför kommande versioner, som även det kommer skapa lite mer "flyt" i telefonen.
     
  5. bjoli

    bjoli Senior Droid Hedersmedlem

    Blev medlem:
    24 jun 2009
    Inlägg:
    1 713
    Mottagna gillanden:
    120

    MINA ENHETER

    Hur mycket påverkar t.ex. mängden RAM och hastigheter på sådant minne?