Vi kjenner alle til leksjonen "multitasking = evnen til å utføre flere prosesser samtidig". Vi bruker den på datamaskinene våre uten å være spesielt oppmerksomme på dens tilstedeværelse. Bytting mellom applikasjoner eller vinduer i en applikasjon skjer (for oss) i sanntid, og vi tar denne muligheten til operativsystemet for gitt.
Oppgave annerledes
Operativsystemet tildeler prosessoren til alle applikasjoner i små tidsintervaller. Disse tidsperiodene er så små at vi ikke kan legge merke til dem, så det virker som om alle applikasjoner bruker prosessoren samtidig. Vi tror kanskje det multitasking i iOS 4 fungerer akkurat det samme. Det er ikke sånn. Hovedårsaken er selvsagt batterikapasiteten. Hvis alle applikasjonene virkelig ble stående i bakgrunnen, måtte vi sannsynligvis se etter en stikkontakt om noen timer.
De fleste applikasjoner som er kompatible med iOS 4 settes i "suspendert modus" eller settes i dvale etter å ha trykket på Hjem-knappen. En analogi kan være å lukke lokket på en bærbar datamaskin, som umiddelbart går i hvilemodus. Etter å ha åpnet lokket våkner den bærbare datamaskinen og alt er i nøyaktig samme tilstand som før lokket ble lukket. Videre er det applikasjoner der et trykk på Hjem-knappen fører til at de avsluttes. Og med det mener vi en reell oppsigelse. Utviklere kan velge hvilken av disse metodene de skal bruke.
Men det er en annen kategori av applikasjoner. Dette er appene som virkelig kjører i bakgrunnen, selv om du gjør noe helt annet på iDevice. Skype er et godt eksempel fordi det trenger en konstant internettforbindelse. Andre eksempler kan være applikasjoner som spiller bakgrunnsmusikk (Pandora) eller applikasjoner som krever konstant bruk av GPS. Ja, disse appene tapper batteriet selv når de kjører i bakgrunnen.
Sove eller skyte ned?
Enkelte applikasjoner som er kompatible med iOS 4, som bør settes i dvale (settes i "suspendert modus") etter å ha trykket på Hjem-knappen, fortsetter å kjøre i bakgrunnen. Apple ga utviklerne nøyaktig ti minutter for appen å fullføre oppgaven, uansett hva den var. La oss si at du laster ned en fil i GoodReader. Plutselig vil noen ringe deg, og du må bare akseptere den viktige samtalen. Samtalen varte ikke mer enn ti minutter, du kommer tilbake til GoodReader-applikasjonen. Filen kan allerede være lastet ned eller er fortsatt under nedlasting. Hva om samtalen tar mer enn ti minutter? Applikasjonen, i vårt tilfelle GoodReader, må stoppe aktiviteten og fortelle iOS at den kan settes i dvale. Hvis hun ikke gjør det, blir hun nådeløst sagt opp av iOS selv.
Nå vet du forskjellen mellom "mobil" og "desktop" multitasking. Mens flyt og hastighet for å bytte mellom applikasjoner er viktig for en datamaskin, er batterilevetiden alltid det viktigste for mobile enheter. Multitasking måtte også tilpasses dette faktum. Derfor, etter å ha lest denne artikkelen, hvis du trykker på Hjem-knappen to ganger, vil du ikke lenger se "linjen med applikasjoner som kjører i bakgrunnen", men i hovedsak bare "listen over nylig brukte applikasjoner".
Forfatter: Daniel Hruškakilde: onemoretap.com
hmm, interessant :) Jeg har alltid trodd at det alltid var likt hvordan det kan gjøres på Unix. At applikasjonen har blitt tildelt null CPU-tid og prosessen bare sitter i minnet, er alle ressurser allokert. så jeg måtte trykke hjem to ganger og umiddelbart stoppe applikasjonen for å slette den. Så betyr dette at selv om det er et programikon i det nederste skjulte arket, er appen fortsatt stengt for lenge siden (etter 10 minutter)?
I den nedre listen er det ganske enkelt de sist åpnede programmene, der noen av dem fortsatt kan kjøre, noen er suspendert og noen avsluttes fullstendig. Manuell fjerning av applikasjonen fra listen har den "bivirkningen" at hvis den tilfeldigvis kjører (eller er suspendert) vil den bli avsluttet.
Applikasjonen må fortelle seg selv om de 10 ekstra minuttene, og det er ikke garantert at den får dem.
Vel, det ble ikke kvitt min besettelse med å lukke programmet fra listen (hva om det ved et uhell spiser ressurser, ikke sant? :-D)
Min forståelse er at de 10 minuttene er for apper som må fungere i bakgrunnen og ikke faller inn i kategorien "skype, GPS og musikkavspilling". Andre applikasjoner bytter til suspendert modus og blir værende i minnet til minnet er nødvendig for andre ting.
Suspendert modus har fordelen at hvis du da trenger å drepe appen, vil du ikke miste dataene, alt vil bli lagret i det øyeblikket du bytter til suspendert.
eller, i tilfelle av for eksempel avspilling, tilsvarende kommandoen bg / fg
Og hva med spilleren eller andre applikasjoner som kjører i bakgrunnen over lengre tid? Jeg mener, får jeg "velge" som utvikler, eller må dette godkjennes av Apple på en eller annen måte?
For at applikasjonen virkelig skal kjøre i bakgrunnen i ubegrenset tid, må den gjøre (registrere) en av følgende handlinger:
– Bruk posisjonstjenester (GPS)
– Spill musikk i bakgrunnen
– Bruk VOIP (Voice over IP)
I følge tittelen (en titt under panseret) forventet jeg at artikkelen skulle inneholde en noe mer omfattende forklaring med tekniske detaljer. Dette ser mer ut som en perex til artikkelen. Hvis det er perex, når er oppfølgeren? Kan du få refusjon? :-)
og hva vil du vite mer detaljert?
Fra en artikkel med "under panseret" i tittelen forventer jeg en detaljert teknisk beskrivelse (forfatteren kan for eksempel analysere overhead ved bytte av applikasjoner, eller hvordan samtidig tilgang til systemressurser løses), en sammenligning med andre modeller (for eksempel med en jailbroken iPhone). Det er ideelt å sikkerhetskopiere det med noen målinger. Jeg forventet rett og slett mye mer av en artikkel som har «under panseret» i tittelen enn denne svært overfladiske beskrivelsen.
Er det noen icq-klient som kjører kontinuerlig i bakgrunnen som skype og ikke mister forbindelsen?
applikasjonen har 10 sekunder på seg til å gå inn i suspenderingsmodus, ikke 10 minutter... og under denne prosessen kan det hende at noen deler "henger" på backend-tjenester, noen av dem er allerede oppført ovenfor - det er det Apple kaller "smart" " multitasking .... så skjøt systemet henne ned
Applikasjonen kan kreve ekstra tid hvis noe blir lastet ned, lastet opp eller behandlet. Det har ingenting å gjøre med GPS, VoIP eller avspilling av musikk, som kjører i minimalistisk modus i ubegrenset tid.