Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Multitasking i iOS

Tråden skapades och har fått 86 svar. Det senaste inlägget skrevs .
Ursprungligen av Zimmerman:

Men visst kan apps som ligger i "bakgrunden" reagera på inkommande samtal? Skype har ju enlösning som dom demade tidigare i vår. Så - helt nerstängda är ju inte appsen. Eller?

Nej, men det är långt från vad man skulle kalla för multikörning. Det kommer dock att göra livet lite lättare för vissa typer av program, tre typer för att vara exakt. Om ditt program inte handlar om att spela upp musik, GPS-navigering eller IP-telefoni så har du inte alltför mycket ut av iOS multikörning.

Lyssna t. ex. på vad Marco Arment, utvecklaren bakom Instapaper, har att säga om multikörning på iOS 4.

One of my most common feature requests is for Instapaper to periodically download articles in the background. A lot of people forget to launch the app to let it download content before going underground or boarding a plane.

I’ve already received multiple emails from people who are excited for iOS 4’s multitasking because they can’t wait for this to finally stop being an issue, because they think Instapaper will be able to download articles periodically in the background.

It’s painful to respond, crushing their hopes, to tell them that the iOS multitasking system doesn’t allow me to do that.

Kalla det vad du vill, men om man inte ens kan ladda ner en liten mängd data med jämna mellanrum i bakgrunden så har jag mycket svårt att kalla det för ens ett försök till multikörning.

Hans föreslagna lösning skulle förvisso lösa hans problem, men i det långa loppet tror jag inte på att definiera vilka typer av program som ska kunna köras i bakgrunden. Det har varken jag eller Apple tillräckligt med insikt för att göra.

Tja...jag måste nog tillstå - med risk för att anklagas för att vara MacTaliban - att detta "problem" inte är något som föstör min nattsömn. Även om jag försöker vara objektiv i frågan - se det from oben så att säga - föreställa mig att jag är en storkonsument av Instapaper - så...kan jag inte se allvaret i saken. Det rycker tvärtom i gäspmuskeln.

Ursprungligen av Marcus K:

A lot of people forget to launch the app to let it download content before going underground or boarding a plane.

Ursprungligen av Zimmerman:

Tja...jag måste nog tillstå - med risk för att anklagas för att vara MacTaliban - att detta "problem" inte är något som föstör min nattsömn. Även om jag försöker vara objektiv i frågan - se det from oben så att säga - föreställa mig att jag är en storkonsument av Instapaper - så...kan jag inte se allvaret i saken. Det rycker tvärtom i gäspmuskeln.

Det förstör nog ingens nattsömn. Jag tycker själv att det är ett bra steg i rätt riktning och det kommer att göra vissa saker möjliga som inte gick att göra tidigare. Hade de bara nöjt sig med att kalla det för fast app switching (vilket de faktiskt gör till utvecklare som mycket väl vet att det inte är multitasking) så hade jag varit helt nöjd.

  • Medlem
  • Stockholm
  • 2010-06-15 14:19

Multitasking är äkta för inbyggda program och har alltid varit det.

För nedladdade program finns ingen fullständig multitasking, utan i stället ett specifikt antal bakgrundstjänster som de kan använda: Ljud, IP-telefoni, positionsbestämning, push notifications, local notifications, slutförande av pågående uppgifter.

Ganska få typer av multitasking är det som inte går att genomföra med dessa tjänster. Att något automatiskt börjar laddas ner i bakgrunden går inte. Däremot kan man få notifiering om att något nytt finns att ladda ner och så kan man sätta i gång en nedladdning och låta den ladda klart medan man gör något annat.

Oavsett vad man tycker är allt detta dock multitasking. Inte bara har fullständig multitasking alltid funnits på iPhone för inbyggda program, utan nu erbjuds även multitasking för tredjepartsprogram. Det är inte att ljuga att säga detta. Det hade varit att ljuga om man hade sagt att det erbjuds "fullständig multitasking" eller liknande, men så har ingen sagt. Att musik, nedladdningar, GPS och massa annat tillhörandes tredjepartsprogram kan ligga igång i bakgrunden är multitasking. En ganska smart form av multitasking enligt mig, till skillnad från den simpla implementeringen andra OS har. Begränsad är den, men tills batterierna klarar av mer är det nog en bra lösning.

Ursprungligen av Rajje:

Ganska få typer av multitasking är det som inte går att genomföra med dessa tjänster. Att något automatiskt börjar laddas ner i bakgrunden går inte. Däremot kan man få notifiering om att något nytt finns att ladda ner och så kan man sätta i gång en nedladdning och låta den ladda klart medan man gör något annat.

Hur skulle det gå till? Med push notifications då? Det var ett tag sedan jag tittade på det men åtminstone då var det ingen egen kod som kördes utan man kunde bara välja att visa en dialogruta, ett ikonmärke eller liknande för att inbjuda att man själv startade programmet.

Ursprungligen av Rajje:

Oavsett vad man tycker är allt detta dock multitasking. Inte bara har fullständig multitasking alltid funnits på iPhone för inbyggda program, utan nu erbjuds även multitasking för tredjepartsprogram. Det är inte att ljuga att säga detta. Det hade varit att ljuga om man hade sagt att det erbjuds "fullständig multitasking" eller liknande, men så har ingen sagt. Att musik, nedladdningar, GPS och massa annat tillhörandes tredjepartsprogram kan ligga igång i bakgrunden är multitasking. En ganska smart form av multitasking enligt mig, till skillnad från den simpla implementeringen andra OS har. Begränsad är den, men tills batterierna klarar av mer är det nog en bra lösning.

Jag har faktiskt aldrig hört någon göra skillnad på multikörning och "fullständig multikörning" innan iOS hittade på sin egen variant. Till och med System 7 hade mer "fullständig" multikörning. Då skulle jag hellre föreslå att vi fortsätter att kalla multikörning för multikörning medan det iOS använder kan heta ofullständig multikörning eller något liknande så att inga missförstånd uppstår.

Problemet med att kalla det för just multikörning är att det är ett ord som redan används till något annat och de flesta kommer inte att känna till skillnaden. Hur många kommer exempelvis inte att ge program dåliga omdömen för att de inte använder den nya multikörningen i iOS 4, även om det praktiskt sett kanske är helt omöjligt att dra nytta av den om ditt program inte råkar vara i någon kategori som Apple tror skulle kunna dra nytta av det. Att kalla det för multikörning är att ge en väldigt skev bild av vad det faktiskt är och det är ojuste mot både användare och utvecklare.

  • Oregistrerad
  • 2010-06-15 22:35
Ursprungligen av Rajje:

Multitasking är äkta för inbyggda program och har alltid varit det.

Så du menar att om jag startar iphoto, safari, mail, kamera, app store etc. så kommer dom aldrig avslutas förrän jag stänger av telefonen? Inte undra på att den blir seg....

  • Medlem
  • Stockholm
  • 2010-06-15 22:55
Ursprungligen av studiox:

Så du menar att om jag startar iphoto, safari, mail, kamera, app store etc. så kommer dom aldrig avslutas förrän jag stänger av telefonen? Inte undra på att den blir seg....

Hanteringen av processer sker automatiskt. Program som inte används stängs av helt och program som behöver det körs i bakgrunden så länge som är nödvändigt. Det är inget man märker på något speciellt sätt eller kan kontrollera. Men bara för det betyder det inte att det inte är multitasking. Mail hämtas i bakgrunden, webbsidor laddas klart i bakgrunden, telefonen fungerar hela tiden i bakgrunden, etc.

I diskussionen om vad användarna förväntar sig p.g.a. ordet "multitasking" så vill jag nog påstå att inte en enda vanlig användare vet vad multitasking är och att alla som vet det även vet tillräckligt mycket för att kunna förstå innebörden av iOS 4:s modell för multitasking.

Ursprungligen av Rajje:

I diskussionen om vad användarna förväntar sig p.g.a. ordet "multitasking" så vill jag nog påstå att inte en enda vanlig användare vet vad multitasking är och att alla som vet det även vet tillräckligt mycket för att kunna förstå innebörden av iOS 4:s modell för multitasking.

Jag håller med. Jag tycker Apples version av multitasking är helt ok att kalla multitasking eftersom det ger användaren möjlighet att ha igång flera saker samtidigt. Alltså är det multitasking.

Sen hur det bakas ihop rent tekniskt är en annan femma. Apple har valt begränsningar för bättre resurshantering och jag tror det är en bra väg att gå. Inte ens Marco Arment som var så kritisk (se mitt inlägg ovan) vill byta ut det med fria bakgrundsprocesser, utan föreslår istället ett till API som skulle hjälpa honom och andra utvecklare.

Istället för att grotta ner i hårklyverier, vad kan vi göra med den nya Multitaskinen i OS4?
Saker blir väl betydligt bättre eller?

Att alltid fokusera på det negativa är rätt jobbigt läsa i längden.

Jag saknar ytterst sällan multitasking öht, så där är jag nog "average Joe" fullständigt.
Vad det kallas är helt ointressant, hur det funkar halvintressant.

Ursprungligen av BlackSmp:

Det är rätt "effektfullt" att starta Safari och se den senaste sidan som du läste direkt när Safari startar - så det är en hel del som blir betydligt bättre.

Så är det idag...

Ursprungligen av hansfilipelo;:

Så är det idag...

Jag måste haft hjärnblödning. Jag tyckte att det fungerade på ett annat sätt men...

Spotify i bakgrunden är väll det viktigaste. Kommer sällan/aldrig använda "iPod" funktionen då Spotify kan köras i bakgrunden. Tror det är samma för många med mig.

Ursprungligen av sahlback:

^ Great info! "app switching" = mycket bättre namn på funktionen!

Fast det är bara en del av det hela. Dockan är sättet att snabbt hitta de applikationer som du använde senast, vilket gör det smidigt att hoppa mellan några applikationer för att exempelvis kopiera data.

  • Medlem
  • Stockholm
  • 2010-06-16 14:10

Nja, alltså det är ju multitasking att kunna ha igång musik, GPS, telefoni, slutförande av uppgifter och allt det andra som nu tredjepartsprogrammen kommer kunna. Det är multitasking med vissa regler och som endast gäller vissa tjänster men det är ju icke desto mindre multitasking per definition. Flera processer som körs samtidigt.

"Fast app switching"-dockan är inte samma sak - det är en av funktionerna som man använder för att hantera de multitaskiande programmen, men fast app switching är inte i sig det som åsyftas med "multitasking".

Jag skulle vilja hävda att en majoritet av de saker man vill kunna köra i bakgrunden kommer kunna göras med de nya multitasking-tjänsterna när tillverkarna väl implementerat dem, även om tjänsterna är mycket specifika. Att en majoritet av programmen inte kommer få någon mer ny funktionalitet än att starta snabbare gör inte nödvändigtvis så mycket då de flesta program egentligen inte behöver ligga igång i bakgrunden.

  • Oregistrerad
  • 2010-06-16 18:27
Ursprungligen av sahlback:

Fast vad jag undrar är om de pausade programmen belastar ram-minnet. Hur ska dom annars kunna återvända exakt där dom var? Låt säga att man har haft 100 appar igång efter en tids användande och alla behöver lite ram var för att minnas sin paus, borde inte det kunna sega ner telefonen?

Det lagras såklart inte i RAM utan på FlashDisken.

Nu har Dropbox släppts med stöd för iOs4 och visst funkar det betydligt mycket bättre än tidigare även om vissa saker är en besvikelse. Startar man tex en mp3-fil från sin dropbox och byter app så stängs ljudet av, börjar man ladda upp en fil och byter app så verkar den inte fortsätta ladda upp utan pausas och tar vid på samma ställe när man byter till baka till dropbox. Det kommer kanske ändras framöver och bara det att programmet inte startas om från början är guld värt.

Och stänger man ner det från "öppna program"-docken så startas det om från början när man startar det på nytt så det verkar stängas på riktigt på det sättet.

Ursprungligen av BlackSmp:

Men - nej, att ta bort ett program från växlingsdockan innebär inte att du gör "quit" på programmet - det innebär bara att du plockar bort det från listan, programmet har redan "quittat" - om du tar bort ett program och sedan startar programmet från hemskärmen så kommer det att vara i samma startläge som om du hade startat det från listan.

Fel. Det betyder det visst att du kört quit. Har du prövat?
Dropbox är uppdaterat till att stödja iOS 4. Kör du igång det så kommer en splash screen och det tar en stund att starta. Byter du till annat app och sedan tillbaka så är du inne där du var i dropbox direkt.
Stänger du av det från listan och sedan startar det igen så kommer samma splash screen upp och det tar några sekunder extra att starta. Så jo, du kör visst quit när du raderar det från "multitasking listan".

Ursprungligen av studiox:

Det lagras såklart inte i RAM utan på FlashDisken.

Jo, enligt den info som finns kommer det visst lagras i just RAM. Nya iPgone 4 har dubbelt så mycket RAM som 3GS vilket kommer att påverka app-switching och multitasking.

[edit] Läste sen sista meddelandet innan mitt och ser att Johan Nilsson sa samma sak som jag fast långt före... fail av mig. [/edit]

Ursprungligen av Archangel:

Fel. Det betyder det visst att du kört quit. Har du prövat?
Dropbox är uppdaterat till att stödja iOS 4. Kör du igång det så kommer en splash screen och det tar en stund att starta. Byter du till annat app och sedan tillbaka så är du inne där du var i dropbox direkt.
Stänger du av det från listan och sedan startar det igen så kommer samma splash screen upp och det tar några sekunder extra att starta. Så jo, du kör visst quit när du raderar det från "multitasking listan".

Jo, enligt den info som finns kommer det visst lagras i just RAM. Nya iPgone 4 har dubbelt så mycket RAM som 3GS vilket kommer att påverka app-switching och multitasking.

[edit] Läste sen sista meddelandet innan mitt och ser att Johan Nilsson sa samma sak som jag fast långt före... fail av mig. [/edit]

Du har rätt, det blir en liten skillnad i beteendet. Det var lite svårt att upptäcka innan de första iOS4 apparna kom.

Fast semantikern i mig vill protestera och säga att det är inte riktigt quit utan något annat som händer som man inte kan skilja från quit, men jag tror att jag lägger ner den diskussionen;)

"Technically speaking, RAM (random access memory) is any medium of storing information electronically so it can be accessed in a random sequence. This means some things we don't normally call RAM are also RAM. Hard drives, floppy discs, CD/DVD drives are all examples of data storage we don't generally refer to as RAM. However, they have identical characteristics."

Så egentligen är allt minne RAM men vad jag var ute efter var om pausade program belastar det snabba RAM på 512 eller FLASH som mer handlar om lagring.

"Flash Memory is really not used as system memory in your electronics at all, it's used as storage. It's more closely related to a portable hard drive than system memory."

Så vet någon om pausade program lagras i FLASH eller ligger i RAM?

  • Oregistrerad
  • 2010-06-18 19:29
Ursprungligen av sahlback:

"Technically speaking, RAM (random access memory) is any medium of storing information electronically so it can be accessed in a random sequence

Det var faan det dummaste jag läst på flera år.

Ursprungligen av studiox:

Det var faan det dummaste jag läst på flera år.

Nja, Random Access Memory - Direktåtkomstminne.

Minne där man SLAPP läsa in hela tejpen med alla data SEKVENTIELLT, utan man kunde hämta vad som låg i minnet direkt.

RAM behöver inte betyda DRAM-Chips...

  • Medlem
  • Stockholm
  • 2010-06-18 13:09

Kommer inte ihåg vem som sa det men i någon intervju sa någon med insikt i det hela att iOS ej använder något virtuellt minne. D.v.s. arbetsminnet tar inte utav lagringsutrymmet på flash-minnet utan endast av de dedicerade 512 MB RAM.

  • Medlem
  • Stockholm
  • 2010-06-18 14:55
Ursprungligen av Rajje:

Kommer inte ihåg vem som sa det men i någon intervju sa någon med insikt i det hela att iOS ej använder något virtuellt minne. D.v.s. arbetsminnet tar inte utav lagringsutrymmet på flash-minnet utan endast av de dedicerade 512 MB RAM.

Det stämmer bra det. Då jag surfar hemnet.se i jakt på sommarhus tröttnade jag på att OSet kändes stukat och Safari kraschade av att visa 20 stora bilder så jag installerade Virtual Memory.

Många säger att flashminnen inte mår bra av att läggas på operationsbordet på detta sätt men vad gör man när siter som Hemnet är oanvändbart på en iPad?

Nog används väl virtuellt? Det ryms ju inte speciellt mycket i en Iphone RAM. Annars blir jag mäkta förvånad...med å andra sidan kan det förklara snabbheten i en enhet som har så pass slö processor. Det föresätter ju också att iOS tar lite RAM i anspråk.
Jag tror att appsen swappas ner till flash när man "multitaskar". Men...vad vet jag. Annars är det ju unikt. Hur är det med Android?

Ursprungligen av Rajje:

Kommer inte ihåg vem som sa det men i någon intervju sa någon med insikt i det hela att iOS ej använder något virtuellt minne. D.v.s. arbetsminnet tar inte utav lagringsutrymmet på flash-minnet utan endast av de dedicerade 512 MB RAM.

Ursprungligen av Zimmerman:

Nog används väl virtuellt?

iPhone OS åtminstone upp till verison 3 har inte använt någon swap alls. RAM-minnet är det man har och sen är det fullt, och alla program får maka på sig, alternativt knuffas ur systemet om de tar för mycket minne.

Apropå detta med "quit" så gjorde jag ett test efter tipset om Dropbox. Om du tvångsavslutar ett program så blir det samma effekt som om du "quittar" via dockan men programmet ligger kvar i dockan.

  • Medlem
  • Falun
  • 2010-06-18 17:46
Ursprungligen av BlackSmp:

Apropå detta med "quit" så gjorde jag ett test efter tipset om Dropbox. Om du tvångsavslutar ett program så blir det samma effekt som om du "quittar" via dockan men programmet ligger kvar i dockan.

Hur tvångsavslutar man programmen?

Nu är det jag som är trög kanske men, om jag har ett antal appar öppna i dockan, byter till t.ex någon app och hamnar på samma ställe som jag var vid, går tillbaka till dockan, avslutar programet och startar det sedan via hemskärmen, då startas programet OM och man ser "uppstart" av det?

Ursprungligen av Dunkah:

Hur tvångsavslutar man programmen?

Nu är det jag som är trög kanske men, om jag har ett antal appar öppna i dockan, byter till t.ex någon app och hamnar på samma ställe som jag var vid, går tillbaka till dockan, avslutar programet och startar det sedan via hemskärmen, då startas programet OM och man ser "uppstart" av det?

Nej, det fortsätter där du stängde det oavsett om du starter det från mutlitask-docken eller från hemskärmen.

  • Medlem
  • Falun
  • 2010-06-18 18:05
Ursprungligen av keptang:

Nej, det fortsätter där du stängde det oavsett om du starter det från mutlitask-docken eller från hemskärmen.

Hmm, då kommer man alltså se uppstarten av programmet en gång? ( om man inte startar om telefonen).

Ursprungligen av Dunkah:

Hmm, då kommer man alltså se uppstarten av programmet en gång? ( om man inte startar om telefonen).

Yep, så bör det bli vad jag upplevt iallafall.

Bevaka tråden