Gå til innhold

Hvordan virker multitasking på iPhone 3gs?


Anbefalte innlegg

Videoannonse
Annonse

Kan sette inn en beskrivelse av hvordan ting fungerer som jeg har skrevet tidligere i en annen tråd her:

 

Applikasjoner som er innebygd i iOS, som Safari, Mail, Messages, etc. støtter allerede multitisking, og har gjort dette siden første iPhone, det blir derfor feil å si at iPhone ikke støtter multitasking, det har den alltid gjort. Det den ikke har gjort er å støtte multitasking for 3. parts applikasjoner...

 

Når man går ut at et program som støtter "Fast App Switching" så settes prosessen og trådene over i det som heter "sleep state", det vil si at de ikke bruker noe CPU, men ligger lagret med kode, stack og data i minne. Hvis telefonen går tom for RAM (3G har kun 128MB, og støtter derfor ikke multitasking, 3GS har 256MB, 4 har 512MB) så skal den applikasjonen som det er lengst tid siden ble brukt vekkes opp, og OS'et skal kalle på funksjoner som lagrer all data fra applikasjonen tilbake i flash minnet. Når du da starter programmet igjen så vil det allikevel fortsette der det var, men det vil ta litt lenger tid, da data må hentes fra flash-minnet, ikke fra RAM.

 

I tillegg så har Apple implementert flere multitasking tjenester til å benytte sammen med "Fast App Switching" for enkelte typer applikasjoner.

 

Background audio: For at applikasjoner skal fortsette å spille lyd mens de er i bakgrunnen. Er er det også API for å kunne bruke iPod kontroller for play, pause, previous, next etc. Typisk egnet for programmer som "Spotify", "WiMP", radio over internett, etc.

 

Voice over IP: I likhet med den innebygde "Phone" applikasjonen må VoIP applikasjoner ha aktive TCP-forbindelser med en sentral tjener. Her kan applikasjoner som "Skype" bruke iPhone sitt telefon-API, mens det er i bakgrunnen.

 

Background location: Det er to klasser av lokasjonstjenesten. En for applikasjoner som krever høy presisjen, her er GPS aktivert hele tiden. "TomTom" er ett eksempel på en slik applikasjon. Det er også mulighet for applikasjoner som ikke krever samme nivå av presisjon å bruke posisjonering ved hjelp av triangulering i GSM-systemet. Dette krever mye mindre strøm enn GPS.

 

Push notifications: Denne tjenesten har vi allerede hatt siden iOS3, men litt mer effektiv sammen med "Fast App Switching". Her pushes data fra en sentral tjener til telefonen. Fordelen er at du kun trenger en aktiv forbindelse fra din iPhone, isteden for mange. Dette sparer strøm og datatrafikk. Dette er en bra tjeneste for for eksempel IM-applikasjoner som "IM+".

 

Local notifications: Samme som over, bare kontrollert lokalt på telefonen, slik at du ikke trenger aktive forbindelser og datatrafikk. Eksempel på applikasjoner som kan bruke denne tjenesten er "TV-Guide" som skal gi deg varsel før et program begynner, eller for eksempel "Occations" som skal gi deg beskjed hvis noen har bursdag i dag.

 

Task finishing: Noen ganger vil du rett og slett bare la et program jobbe seg ferdig mens du gjør noe annet. "Flickr" eller "Dropbox" er eksempel på slike applikasjoner, som på egenhånd i bakgrunnen kan fullføre opplasting av filer/data som sine tjenester, mens du gjør noe annet.

 

 

Som utvikler så kan jeg si at alle disse API'ene er ganske lette å bruke. Ganske mange applikasjoner er allerede på plass med oppdatert versjon i AppStore, og regner med at flere kommer de kommende dagene/ukene.

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