Me kaikki tiedämme oppitunnin "multitasking = kyky suorittaa useita prosesseja samanaikaisesti". Käytämme sitä tietokoneissamme olematta erityisen tietoisia sen läsnäolosta. Yhden sovelluksen sovellusten tai ikkunoiden välillä vaihto tapahtuu (meille) reaaliajassa ja pidämme tätä käyttöjärjestelmän kykyä itsestäänselvyytenä.
Tehtävä erilainen
Käyttöjärjestelmä allokoi prosessorin kaikille sovelluksille pienin aikavälein. Nämä ajanjaksot ovat niin pieniä, ettemme huomaa niitä, joten näyttää siltä, että kaikki sovellukset käyttävät prosessoria samanaikaisesti. Saatamme ajatella niin moniajo iOS 4:ssä toimii täsmälleen samoin. Se ei ole niin. Suurin syy on tietysti akun kapasiteetti. Jos kaikki sovellukset todella jätettäisiin toimimaan taustalla, joutuisimme todennäköisesti etsimään pistorasia muutaman tunnin kuluttua.
Useimmat iOS 4:n kanssa yhteensopivista sovelluksista siirretään "keskeytettyyn tilaan" tai laitetaan nukkumaan aloituspainikkeen painamisen jälkeen. Analogia voisi olla kannettavan tietokoneen kannen sulkeminen, joka siirtyy välittömästi lepotilaan. Kannen avaamisen jälkeen kannettava tietokone herää ja kaikki on täsmälleen samassa tilassa kuin ennen kannen sulkemista. Lisäksi on sovelluksia, joissa aloituspainikkeen painaminen lopettaa ne. Ja tällä tarkoitamme todellista lopettamista. Kehittäjät voivat valita, mitä näistä menetelmistä käyttää.
Mutta on olemassa toinen sovellusluokka. Nämä ovat sovelluksia, jotka todella toimivat taustalla, vaikka teet jotain aivan muuta iDevice-laitteellasi. Skype on hyvä esimerkki, koska se tarvitsee jatkuvan Internet-yhteyden. Muita esimerkkejä voivat olla taustamusiikkia soittavat sovellukset (Pandora) tai sovellukset, jotka vaativat jatkuvaa GPS:n käyttöä. Kyllä, nämä sovellukset kuluttavat akkua, vaikka ne toimivat taustalla.
Nukkua vai ampua alas?
Tietyt iOS 4:n kanssa yhteensopivat sovellukset, jotka on laitettava lepotilaan (suoritettava "keskeytettyyn tilaan") Koti-painikkeen painamisen jälkeen, jatkavat toimintaansa taustalla. Apple antoi kehittäjille tasan kymmenen minuuttia aikaa sovellukselle suorittaa tehtävänsä, oli se sitten mikä tahansa. Oletetaan, että lataat tiedoston GoodReaderissa. Yhtäkkiä joku haluaa soittaa sinulle ja sinun on vain hyväksyttävä se tärkeä puhelu. Puhelu ei kestänyt yli kymmentä minuuttia, palaat GoodReader-sovellukseen. Tiedosto saattaa olla jo ladattu tai sitä ladataan edelleen. Entä jos puhelu kestää yli kymmenen minuuttia? Sovellus, meidän tapauksessamme GoodReader, joutuu lopettamaan toimintansa ja kertomaan iOS:lle, että se voidaan laittaa nukkumaan. Jos hän ei tee, iOS itse lopettaa hänet armottomasti.
Nyt tiedät eron "mobiili" ja "työpöytä" moniajo välillä. Vaikka sovellusten välillä vaihtamisen sujuvuus ja nopeus ovat tärkeitä tietokoneelle, akun kesto on aina tärkein asia mobiililaitteille. Myös moniajo oli mukautettava tähän tosiasiaan. Siksi tämän artikkelin lukemisen jälkeen, jos painat Koti-painiketta kahdesti, et enää näe "taustalla käynnissä olevien sovellusten palkkia", vaan käytännössä vain "äskettäin käytettyjen sovellusten luetteloa".
Kirjailija: Daniel HruškaLähde: onemoretap.com
hmm, mielenkiintoista :) Luulin aina, että se on aina samanlaista kuin se, miten se voidaan tehdä Unixissa. Koska sovellukselle on varattu nolla CPU-aikaa ja prosessi vain istuu muistissa, kaikki resurssit on varattu. joten minun piti painaa kotia kahdesti ja pysäyttää sovellus välittömästi poistaakseni sen. Tarkoittaako tämä siis sitä, että vaikka alemmassa piilotetussa taulukossa olisi sovelluskuvake, sovellus on silti suljettuna kauan sitten (10 minuutin jälkeen)?
Alimmassa luettelossa ovat yksinkertaisesti viimeksi avatut sovellukset, joista osa on edelleen käynnissä, osa on keskeytetty ja osa lopetettu kokonaan. Sovelluksen manuaalisella poistamisella luettelosta on "sivuvaikutus", että jos se sattuu olemaan käynnissä (tai keskeytetty), se lopetetaan.
Sovelluksen on kerrottava itse näistä 10 ylimääräisestä minuutista, eikä ole taattu, että se saa niitä.
No, se ei poistanut pakkomiellettäni sulkea sovellus luettelosta (entä jos se vahingossa syö resursseja, eikö niin? :-D)
Ymmärtääkseni 10 minuuttia on tarkoitettu sovelluksille, joiden on toimittava taustalla ja jotka eivät kuulu "skype, GPS ja musiikin toisto" -luokkaan. Muut sovellukset siirtyvät keskeytettyyn tilaan ja pysyvät muistissa, kunnes muistia tarvitaan muihin asioihin.
Keskeytetyllä tilassa on se etu, että jos sinun täytyy tappaa sovellus, et menetä sen tietoja, vaan kaikki tallennetaan keskeytettyyn vaihtamisen hetkellä.
tai esim. toiston tapauksessa komento bg / fg
Entä soitin tai muut sovellukset, jotka ovat käynnissä taustalla jonkin aikaa? Tarkoitan, saanko "valita" kehittäjäksi, vai pitääkö tämä jotenkin hyväksyä Applen kanssa?
Jotta sovellus todella toimii taustalla rajoittamattoman ajan, sen on tehtävä (rekisteröitävä) jokin seuraavista toimista:
– Käytä paikannuspalveluita (GPS)
– Toista musiikkia taustalla
– Käytä VOIP:tä (Voice over IP)
Otsikon mukaan (katso konepellin alle) odotin artikkelin sisältävän hieman laajemman selityksen teknisin yksityiskohtineen. Tämä näyttää enemmän artikkelin perexiltä. Jos se on perex, milloin on jatko? Voitko saada hyvityksen? :-)
ja mitä haluaisit tietää tarkemmin?
Artikkelilta, jonka otsikossa on "konepellin alla", odotan yksityiskohtaista teknistä kuvausta (kirjoittaja voisi analysoida esimerkiksi sovellusten vaihdon yleiskustannuksia tai kuinka samanaikainen pääsy järjestelmäresursseihin käsitellään), vertailua muihin malleihin (esimerkiksi rikotun iPhonen kanssa). On ihanteellinen varmuuskopioida se joillakin mitoilla. Odotin yksinkertaisesti paljon enemmän artikkelilta, jonka otsikossa on "hupun alla" kuin tämä erittäin pinnallinen kuvaus.
Onko olemassa icq-asiakasta, joka toimii jatkuvasti taustalla kuten skype eikä katkaise yhteyttä?
sovelluksella on 10 sekuntia siirtyä keskeytystilaan, ei 10 minuuttia... ja tämän prosessin aikana jotkin osat saattavat "roikkua" taustapalveluissa, joista osa on jo lueteltu yllä - Apple kutsuu sitä "älykkääksi". "moniajo... sitten järjestelmä ampui hänet alas
Sovellus saattaa vaatia lisäaikaa, jos jotain ladataan, ladataan tai käsitellään. Sillä ei ole mitään tekemistä GPS:n, VoIP:n tai musiikin toiston kanssa, jotka toimivat minimalistisessa tilassa rajoittamattoman ajan.