Visi žinome pamoką „multitasking = gebėjimas vienu metu atlikti kelis procesus“. Mes naudojame jį savo kompiuteriuose, ypač nežinodami apie jo buvimą. Perjungimas tarp programų ar vienos programos langų vyksta (mums) realiu laiku ir šią operacinės sistemos galimybę laikome savaime suprantamu dalyku.
Užduotis kitokia
Operacinė sistema procesorių paskirsto visoms programoms mažais laiko intervalais. Šie laikotarpiai yra tokie maži, kad negalime jų pastebėti, todėl atrodo, kad visos programos vienu metu naudoja procesorių. Galime taip manyti kelių užduočių atlikimas iOS 4 veikia lygiai taip pat. Taip nėra. Žinoma, pagrindinė priežastis yra akumuliatoriaus talpa. Jei visos programos tikrai liktų veikti fone, greičiausiai po kelių valandų turėtume ieškoti lizdo.
Dauguma programų, suderinamų su iOS 4, įjungiamos į „pristabdytą režimą“ arba užmigdomos paspaudus pagrindinio puslapio mygtuką. Analogija gali būti nešiojamojo kompiuterio dangčio uždarymas, kuris iškart pereina į miego režimą. Atidarius dangtį, nešiojamasis kompiuteris atsibunda ir viskas yra lygiai tokios pat būklės, kaip ir prieš uždarant dangtį. Be to, yra programų, kuriose paspaudus mygtuką Pagrindinis jos baigiasi. Ir tuo turime omenyje tikrą nutraukimą. Kūrėjai gali pasirinkti, kurį iš šių metodų naudoti.
Tačiau yra ir kita programų kategorija. Tai programos, kurios tikrai veikia fone, net jei „iDevice“ darote kažką visiškai kitokio. „Skype“ yra geras pavyzdys, nes jai reikia nuolatinio interneto ryšio. Kiti pavyzdžiai būtų programos, kurios groja muziką fone (Pandora) arba programos, kurioms reikia nuolat naudoti GPS. Taip, šios programos eikvoja bateriją net veikiant fone.
Miegoti ar nusišauti?
Tam tikros su „iOS 4“ suderinamos programos, kurios turėtų būti užmigdomos (įjungtos į „pristabdytą režimą“) paspaudus pagrindinio puslapio mygtuką, toliau veiks fone. „Apple“ suteikė kūrėjams lygiai dešimt minučių, kad programa atliktų savo užduotį, kad ir kokia ji būtų. Tarkime, kad atsisiunčiate failą programoje „GoodReader“. Staiga kažkas nori jums paskambinti ir jūs tiesiog turite priimti tą svarbų skambutį. Skambutis netruko ilgiau nei dešimt minučių, grįšite į „GoodReader“ programą. Failas jau gali būti atsisiųstas arba vis dar atsisiunčiamas. Ką daryti, jei pokalbis trunka ilgiau nei dešimt minučių? Programa, mūsų atveju GoodReader, turės sustabdyti savo veiklą ir pasakyti iOS, kad ją galima užmigdyti. Jei ji to nepadarys, pati iOS ją negailestingai nutrauks.
Dabar jūs žinote, kuo skiriasi „mobilusis“ ir „stalinis“ daugiafunkcinis darbas. Nors kompiuteriui svarbus sklandumas ir perjungimo tarp programų greitis, mobiliuosiuose įrenginiuose akumuliatoriaus veikimo laikas visada yra svarbiausias. Prie šio fakto reikėjo pritaikyti ir kelių užduočių atlikimą. Todėl perskaičius šį straipsnį du kartus paspaudus Home mygtuką, nebematysite „fone veikiančių programų juostos“, o iš esmės tik „neseniai naudotų programų sąrašą“.
Autorius: Danielis HruškaŠaltinis: onemoretap.com
hmm, įdomu :) Visada maniau, kad tai visada panašu į tai, kaip tai galima padaryti Unix. Kad programai buvo skirtas nulis procesoriaus laiko, o procesas tiesiog sėdi atmintyje, visi ištekliai buvo skirti. todėl turėjau du kartus paspausti „Home“ ir nedelsiant sustabdyti programą, kad ją ištrinčiau. Taigi ar tai reiškia, kad net jei apatiniame paslėptame lape yra programos piktograma, programa vis tiek uždaryta seniai (po 10 minučių)?
Apatiniame sąraše yra tiesiog neseniai atidarytos programos, kai kurios iš jų vis dar gali veikti, kai kurios yra sustabdytos, o kai kurios visiškai nutrauktos. Neautomatinis programos pašalinimas iš sąrašo turi „šalutinį poveikį“, kad jei ji veikia (arba bus laikinai sustabdyta), ji bus nutraukta.
Programa turi pati pasakyti apie tas 10 papildomų minučių ir negarantuojama, kad jas gaus.
Na, tai nepašalino mano manijos uždaryti programą iš sąrašo (o jei ji netyčia suvalgys išteklius, tiesa? :-D)
Aš suprantu, kad 10 minučių skirtos programoms, kurios turi veikti fone ir nepatenka į „skype, GPS ir muzikos atkūrimo“ kategoriją. Kitos programos persijungia į sustabdymo režimą ir lieka atmintyje tol, kol atminties prireiks kitiems dalykams.
Sustabdytas režimas turi pranašumą, kad jei tada reikės užmušti programėlę, neprarasite jos duomenų, viskas bus išsaugota perjungus į sustabdytą.
arba, pvz., atkūrimo atveju, komandos bg / fg atitikmuo
O kaip su grotuvu ar kitomis programomis, kurios bet kurį laiką veikia fone? Turiu galvoje, ar turiu „pasirinkti“ kaip kūrėją, ar tai turi kažkaip patvirtinti „Apple“?
Kad programa tikrai veiktų fone neribotą laiką, ji turi atlikti (užregistruoti) vieną iš šių veiksmų:
– Naudokite vietos nustatymo paslaugas (GPS)
- Leisti muziką fone
- Naudokite VOIP (balsas per IP)
Pagal pavadinimą (žvilgsnis po gaubtu), tikėjausi, kad straipsnyje bus šiek tiek išsamesnis paaiškinimas su techninėmis detalėmis. Tai labiau panašu į straipsnį. Jei tai perex, kada bus tęsinys? Ar galite susigrąžinti pinigus? :-)
o ka noretum suzinoti detaliau?
Iš straipsnio, kurio pavadinime yra „po gaubtu“, tikėčiau išsamaus techninio aprašymo (autorius galėtų išanalizuoti, pavyzdžiui, perjungiant programas, kaip tvarkoma vienalaikė prieiga prie sistemos išteklių), palyginimo su kitais modeliais. (pavyzdžiui, su pažeistu iPhone). Idealu jį papildyti kai kuriais išmatavimais. Aš tiesiog tikėjausi daug daugiau iš straipsnio, kurio pavadinime yra „po gaubtu“, nei šio labai paviršutiniško aprašymo.
Ar yra koks nors icq klientas, kuris nuolat veikia fone kaip skype ir nenutrūksta ryšys?
programa turi 10 sekundžių, kad įjungtų sustabdymo režimą, o ne 10 minučių... ir šio proceso metu kai kurios dalys gali „užkibti“ arba ne „užkibti“ ant backend paslaugų, kai kurios iš jų jau buvo išvardytos aukščiau – tai Apple vadina „smart“. "Kelių užduočių atlikimas... tada sistema ją numušė
Programai gali prireikti papildomo laiko, jei kažkas atsisiunčiama, įkeliama ar apdorojama. Tai neturi nieko bendra su GPS, VoIP ar muzikos grojimu, kurie veikia minimalistiniu režimu neribotą laiką.