Ons ken almal die les "multitasking = die vermoë om verskeie prosesse op dieselfde tyd uit te voer". Ons gebruik dit in ons rekenaars sonder om veral bewus te wees van die teenwoordigheid daarvan. Omskakeling tussen toepassings of vensters van een toepassing vind (vir ons) intyds plaas en ons aanvaar hierdie vermoë van die bedryfstelsel as vanselfsprekend.
Taak anders
Die bedryfstelsel ken die verwerker toe aan alle toepassings in klein tydintervalle. Hierdie tydperke is so klein dat ons dit nie kan opmerk nie, so dit wil voorkom asof alle toepassings die verwerker gelyktydig gebruik. Ons dink dalk so multitasking in iOS 4 werk presies dieselfde. Dit is nie so nie. Die hoofrede is natuurlik die batterykapasiteit. As al die toepassings regtig op die agtergrond gelaat word, sal ons waarskynlik oor 'n paar uur na 'n sok moet soek.
Die meeste toepassings wat met iOS 4 versoenbaar is, word in "opgeskorte modus" geplaas of aan die slaap gesit nadat die Tuis-knoppie gedruk is. 'n Analogie kan wees om die deksel van 'n skootrekenaar toe te maak, wat dadelik in slaapmodus gaan. Nadat die deksel oopgemaak is, word die skootrekenaar wakker en alles is in presies dieselfde toestand as voordat die deksel toegemaak is. Verder is daar toepassings waar die druk van die Home-knoppie veroorsaak dat hulle eindig. En daarmee bedoel ons 'n werklike beëindiging. Ontwikkelaars het 'n keuse van watter van hierdie metodes om te gebruik.
Maar daar is 'n ander kategorie van toepassings. Dit is die toepassings wat regtig in die agtergrond loop, al doen jy iets heeltemal anders op jou iDevice. Skype is 'n goeie voorbeeld omdat dit 'n konstante internetverbinding benodig. Ander voorbeelde kan toepassings wees wat agtergrondmusiek speel (Pandora) of toepassings wat konstante gebruik van GPS vereis. Ja, hierdie toepassings dreineer jou battery selfs wanneer dit in die agtergrond loop.
Slaap of skiet af?
Sekere toepassings wat versoenbaar is met iOS 4, wat aan die slaap gestel moet word (in "opgeskorte modus") geplaas moet word nadat die Tuis-knoppie gedruk is, gaan voort om op die agtergrond te loop. Apple het ontwikkelaars presies tien minute gegee vir die toepassing om sy taak te voltooi, wat dit ook al was. Kom ons sê jy laai 'n lêer in GoodReader af. Skielik wil iemand jou bel en jy moet net daardie belangrike oproep aanvaar. Die oproep het nie langer as tien minute geduur nie, jy sal terugkeer na die GoodReader-toepassing. Die lêer is dalk reeds afgelaai of word steeds afgelaai. Wat as die oproep meer as tien minute neem? Die toepassing, in ons geval GoodReader, sal sy aktiwiteit moet stop en vir iOS moet vertel dat dit aan die slaap gemaak kan word. As sy dit nie doen nie, sal sy genadeloos deur iOS self beëindig word.
Nou weet jy die verskil tussen "mobiele" en "rekenaar" multitasking. Terwyl vloeibaarheid en spoed van wisseling tussen toepassings belangrik is vir 'n rekenaar, is batterylewe altyd die belangrikste ding vir mobiele toestelle. Multitasking moes ook by hierdie feit aangepas word. Daarom, nadat jy hierdie artikel gelees het, as jy die Tuis-knoppie twee keer druk, sal jy nie meer die "balk van toepassings wat in die agtergrond loop" sien nie, maar in wese net die "lys van onlangs gebruikte toepassings".
Skrywer: Daniel Hruškabron: onemoretap.com
hmm, interessant :) Ek het altyd gedink dat dit altyd soortgelyk is aan hoe dit op Unix gedoen kan word. Dat die toepassing nul SVE-tyd toegeken is en die proses net in die geheue sit, is alle hulpbronne toegewys. dus moes ek twee keer huis toe druk en dadelik die toepassing stop om dit uit te vee. Beteken dit dus dat selfs al is daar 'n toepassingsikoon in die onderste versteekte blad, is die toepassing lank gelede nog gesluit (na 10 minute)?
In die onderste lys is daar eenvoudig die mees onlangs oopgemaakte toepassings, waardeur sommige van hulle nog kan loop, sommige opgeskort word en sommige heeltemal beëindig word. Die handmatige verwydering van die toepassing van die lys het die "newe-effek" dat as dit toevallig loop (of opgeskort word) dit beëindig sal word.
Die toepassing moet homself vertel van daardie 10 ekstra minute, en dit is nie gewaarborg dat dit dit sal kry nie.
Wel, dit het nie ontslae geraak van my obsessie om die toepassing van die lys af te sluit nie (wat as dit per ongeluk hulpbronne eet, reg? :-D)
My verstaan is dat die 10 minute vir toepassings is wat in die agtergrond moet werk en nie in die kategorie "skype, GPS en musiek terugspeel" val nie. Ander toepassings skakel oor na opgeskorte modus en bly in die geheue totdat die geheue vir ander dinge benodig word.
Opgeskorte modus het die voordeel dat as jy die toepassing moet doodmaak, jy nie sy data sal verloor nie, alles sal gestoor word op die oomblik van oorskakeling na opgeskort.
of, in die geval van bv. terugspeel, die ekwivalent van die opdrag bg / fg
En wat van die speler of ander toepassings wat vir enige tyd in die agtergrond loop? Ek bedoel, kan ek "kies" as 'n ontwikkelaar, of moet dit op een of ander manier deur Apple goedgekeur word?
Om die toepassing vir 'n onbeperkte tyd werklik op die agtergrond te laat loop, moet dit een van die volgende aksies doen (registreer):
- Gebruik liggingdienste (GPS)
- Speel musiek op die agtergrond
- Gebruik VOIP (Voice over IP)
Volgens die titel ('n kykie onder die enjinkap) het ek verwag dat die artikel 'n ietwat meer uitgebreide verduideliking met tegniese besonderhede sou bevat. Dit lyk meer soos 'n perex van die artikel. As dit perex is, wanneer is die vervolg? Kan jy 'n terugbetaling kry? :-)
en wat wil jy in meer besonderhede weet?
Uit 'n artikel met "onder die kap" in die titel, sou ek 'n gedetailleerde tegniese beskrywing verwag (die skrywer kan byvoorbeeld oorhoofse koste ontleed wanneer toepassings gewissel word, of hoe gelyktydige toegang tot stelselhulpbronne hanteer word), 'n vergelyking met ander modelle (byvoorbeeld, met 'n tronkbroke iPhone). Dit is ideaal om dit met 'n paar afmetings te rugsteun. Ek het eenvoudig baie meer verwag van 'n artikel wat "onder die kap" in sy titel het as hierdie baie oppervlakkige beskrywing.
Is daar enige icq-kliënt wat deurlopend in die agtergrond soos skype loop en nie die verbinding laat val nie?
die toepassing het 10 sekondes om in opskortmodus te gaan, nie 10 minute nie ... en tydens hierdie proses kan sommige dele dalk of nie "hang" aan backend-dienste, waarvan sommige reeds hierbo gelys is - dit is wat Apple "slim" noem " multitasking .... toe skiet die stelsel haar neer
Die toepassing kan bykomende tyd benodig as iets afgelaai, opgelaai of verwerk word. Dit het niks te doen met GPS, VoIP of die speel van musiek nie, wat vir 'n onbeperkte tyd in minimalistiese modus werk.