Við þekkjum öll lexíuna "fjölverkavinnsla = hæfileikinn til að framkvæma nokkra ferla á sama tíma". Við notum það í tölvum okkar án þess að vera sérstaklega meðvituð um tilvist þess. Skipting á milli forrita eða glugga í einu forriti fer fram (fyrir okkur) í rauntíma og við tökum þessa möguleika stýrikerfisins sem sjálfsögðum hlut.
Verkefni öðruvísi
Stýrikerfið úthlutar örgjörvanum til allra forrita með litlu millibili. Þessi tímabil eru svo lítil að við getum ekki tekið eftir þeim, svo það virðist sem öll forrit séu að nota örgjörvann á sama tíma. Við gætum haldið það fjölverkavinnsla í iOS 4 virkar nákvæmlega eins. Það er ekki svo. Aðalástæðan er auðvitað rafgeymirinn. Ef öll forritin væru raunverulega látin keyra í bakgrunni, þyrftum við líklega að leita að innstungu eftir nokkrar klukkustundir.
Flest forrit sem eru samhæf við iOS 4 eru sett í „stöðvunarham“ eða svæfð eftir að hafa ýtt á heimahnappinn. Samlíking gæti verið að loka lokinu á fartölvu, sem fer strax í svefnham. Eftir að lokið hefur verið opnað vaknar fartölvan og allt er í nákvæmlega sama ástandi og áður en lokið var lokað. Ennfremur eru til forrit þar sem ýtt er á heimahnappinn veldur því að þeim lýkur. Og þá er átt við alvöru uppsögn. Hönnuðir hafa val um hvaða af þessum aðferðum á að nota.
En það er annar flokkur umsókna. Þetta eru öppin sem keyra í raun í bakgrunni, jafnvel þó að þú sért að gera eitthvað allt annað á iDevice. Skype er gott dæmi vegna þess að það þarf stöðuga nettengingu. Önnur dæmi gætu verið forrit sem spila bakgrunnstónlist (Pandora) eða forrit sem krefjast stöðugrar notkunar á GPS. Já, þessi forrit tæma rafhlöðuna þína jafnvel þegar þau keyra í bakgrunni.
Sofa eða skjóta niður?
Ákveðin forrit sem eru samhæf við iOS 4, sem ætti að setja í dvala (sett í „stöðvunarstillingu“) eftir að hafa ýtt á heimahnappinn, halda áfram að keyra í bakgrunni. Apple gaf forriturum nákvæmlega tíu mínútur fyrir appið til að klára verkefni sitt, hvað sem það var. Segjum að þú sért að hala niður skrá í GoodReader. Allt í einu vill einhver hringja í þig og þú verður bara að samþykkja það mikilvæga símtal. Símtalið varði ekki lengur en í tíu mínútur, þú munt fara aftur í GoodReader forritið. Skráin gæti þegar verið hlaðið niður eða er enn í gangi. Hvað ef símtalið tekur meira en tíu mínútur? Forritið, í okkar tilviki GoodReader, verður að stöðva virkni sína og segja iOS að hægt sé að svæfa það. Ef hún gerir það ekki verður henni miskunnarlaust sagt upp af iOS sjálfu.
Nú veistu muninn á "farsíma" og "skrifborð" fjölverkavinnsla. Þó að vökvi og hraði skiptis á milli forrita séu mikilvæg fyrir tölvu, er líftími rafhlöðunnar alltaf mikilvægasti hluturinn fyrir farsíma. Fjölverkavinnsla þurfti líka að laga að þessari staðreynd. Þess vegna, eftir að hafa lesið þessa grein, ef þú ýtir tvisvar á Home hnappinn, muntu ekki lengur sjá „stikuna yfir forrit sem keyra í bakgrunni“, heldur aðeins „listann yfir nýlega notuð forrit“.
Höfundur: Daniel HruškaHeimild: onemoretap.com
hmm, áhugavert :) Ég hélt alltaf að þetta væri alltaf svipað og það er hægt að gera á Unix. Að forritinu hafi verið úthlutað núll CPU tíma og ferlið situr bara í minni, öllum tilföngum hefur verið úthlutað. svo ég þurfti að ýta tvisvar á heim og stöðva strax forritið til að eyða því. Svo þýðir þetta að jafnvel þótt það sé forritstákn í neðra falnu blaðinu, þá er appið enn lokað fyrir löngu síðan (eftir 10 mínútur)?
Í neðsta listanum eru einfaldlega nýjustu opnuðu forritin, þar sem sum þeirra geta enn keyrt, sum eru stöðvuð og sumum er hætt að fullu. Að fjarlægja forritið handvirkt af listanum hefur þá "aukaverkun" að ef það gerist að keyra (eða er lokað) verður því hætt.
Forritið þarf að segja sjálft frá þessum 10 auka mínútum og það er ekki tryggt að það fái þær.
Jæja, það losaði mig ekki við þráhyggju mína um að loka forritinu af listanum (hvað ef það étur auðlindir óvart, ekki satt? :-D)
Mér skilst að þessar 10 mínútur séu fyrir öpp sem þurfa að virka í bakgrunni og falla ekki í "skype, GPS og tónlistarspilun" flokkinn. Önnur forrit skipta yfir í biðham og haldast í minni þar til minnið er þörf fyrir aðra hluti.
Frestað stilling hefur þann kost að ef þú þarft að drepa forritið taparðu ekki gögnum þess, allt verður vistað á því augnabliki sem skipt er yfir í lokað.
eða, ef um t.d. spilun er að ræða, jafngildi skipunarinnar bg / fg
Og hvað með spilarann eða önnur forrit sem keyra í bakgrunni í langan tíma? Ég meina, fæ ég að "velja" sem þróunaraðila, eða þarf þetta að vera samþykkt af Apple einhvern veginn?
Til þess að forritið geti raunverulega keyrt í bakgrunni í ótakmarkaðan tíma verður það að gera (skrá) eina af eftirfarandi aðgerðum:
- Notaðu staðsetningarþjónustu (GPS)
- Spilaðu tónlist í bakgrunni
- Notaðu VOIP (Voice over IP)
Samkvæmt fyrirsögninni (kíkja undir húddið) bjóst ég við að greinin innihéldi nokkuð víðtækari útskýringu með tæknilegum smáatriðum. Þetta lítur meira út eins og perex við greinina. Ef það er perex, hvenær er framhaldið? Getur þú fengið endurgreiðslu? :-)
og hvað viltu vita nánar?
Af grein með "undir hettunni" í titlinum myndi ég búast við nákvæmri tæknilýsingu (höfundur gæti t.d. greint kostnað þegar skipt er um forrit eða hvernig samtímis aðgangur að kerfisauðlindum er meðhöndlaður), samanburði við aðrar gerðir (til dæmis með jailbroken iPhone). Tilvalið er að taka afrit af því með einhverjum mælingum. Ég bjóst einfaldlega við miklu meira af grein sem hefur "undir húddinu" í titlinum en þessari mjög yfirborðskenndu lýsingu.
Er einhver icq client sem keyrir stöðugt í bakgrunni eins og skype og sleppir ekki tengingunni?
forritið hefur 10 sekúndur til að fara í biðham, ekki 10 mínútur... og meðan á þessu ferli stendur geta sumir hlutar „hangið“ á bakendaþjónustu, sumar þeirra hafa þegar verið skráðar hér að ofan - það er það sem Apple kallar „snjall“ „fjölverkavinnsla.... þá skaut kerfið hana niður
Forritið gæti þurft viðbótartíma ef verið er að hlaða niður, hlaða upp eða vinna úr einhverju. Það hefur ekkert að gera með GPS, VoIP eða spila tónlist, sem keyrir í lágmarksham í ótakmarkaðan tíma.