Denok ezagutzen dugu "multitasking = hainbat prozesu aldi berean egiteko gaitasuna" ikasgaia. Gure ordenagailuetan erabiltzen dugu bere presentziaz bereziki ohartu gabe. Aplikazio bateko aplikazio edo leiho batetik bestera aldatzea (guretzat) denbora errealean gertatzen da eta sistema eragilearen gaitasun hori beretzat hartzen dugu.
Zeregin ezberdina
Sistema eragileak prozesadorea aplikazio guztiei esleitzen die denbora tarte txikietan. Denbora-tarte hauek hain dira txikiak, non ezin ditugu ohartu, beraz, badirudi aplikazio guztiak prozesadorea aldi berean erabiltzen ari direla. Hala pentsa genezake multiataza iOS 4-n berdin funtzionatzen du. Ez da horrela. Arrazoi nagusia bateriaren edukiera da, noski. Aplikazio guztiak benetan bigarren planoan exekutatzen utziko balira, ziurrenik socket bat bilatu beharko genuke ordu gutxitan.
iOS 4rekin bateragarriak diren aplikazio gehienak "modu etenda" edo lotan jartzen dira Hasiera botoia sakatu ondoren. Analogia bat ordenagailu eramangarri baten estalkia ixtea izan daiteke, berehala lo moduan sartzen dena. Estalkia ireki ondoren, ordenagailu eramangarria esnatzen da eta dena estalkia itxi aurretik zegoen egoera berean dago. Gainera, badaude aplikazioak non Home botoia sakatzeak amaitzen dituen. Eta horrekin benetako amaiera bat esan nahi dugu. Garatzaileek aukera dute metodo hauetako zein erabili.
Baina bada beste aplikazio kategoria bat. Hauek dira benetan atzeko planoan exekutatzen diren aplikazioak, zure iDevicen zerbait guztiz desberdina egiten ari zaren arren. Skype adibide ona da etengabeko Interneteko konexioa behar duelako. Beste adibide batzuk atzeko musika erreproduzitzen duten aplikazioak (Pandora) edo GPSa etengabe erabiltzea eskatzen duten aplikazioak izan daitezke. Bai, aplikazio hauek bateria agortzen dute atzeko planoan exekutatzen badira ere.
Lo egin ala tiro egin?
iOS 4-rekin bateragarriak diren zenbait aplikazio, zeinak lotan jarri behar diren («modu etenean» jarri) Hasiera botoia sakatu ondoren, atzeko planoan exekutatzen jarraitzen dute. Applek hamar minutu zehatz eman zizkien garatzaileei aplikazioari bere zeregina burutzeko, edozein dela ere. Demagun GoodReader-en fitxategi bat deskargatzen ari zarela. Bat-batean norbaitek deitu nahi dizu eta dei garrantzitsu hori onartu besterik ez duzu egin behar. Deiak ez zuen hamar minutu baino gehiago iraun, GoodReader aplikaziora itzuliko zara. Baliteke fitxategia dagoeneko deskargatuta egotea edo oraindik deskargatzen ari da. Zer gertatzen da deiak hamar minutu baino gehiago irauten badu? Aplikazioak, gure kasuan GoodReader-ek, bere jarduera gelditu beharko du eta iOS lotan jarri daitekeela esan. Ez badu egiten, iOS-ek berak errukirik gabe amaituko du.
Orain badakizu "mugikor" eta "mahaigaineko" zeregin anitzeko aldea. Aplikazio batetik bestera aldatzeko jariakortasuna eta abiadura ordenagailuarentzat garrantzitsuak diren arren, bateriaren iraupena beti da garrantzitsuena gailu mugikorrentzat. Multiataza ere horretara egokitu behar zen. Hori dela eta, artikulu hau irakurri ondoren, hasierako botoia bi aldiz sakatzen baduzu, ez duzu "atzealdean exekutatzen diren aplikazioen barra" ikusiko, funtsean, "azken erabilitako aplikazioen zerrenda" besterik ez.
Egilea: Daniel Hruškaiturria: onemoretap.com
hmm, interesgarria :) Beti pentsatu dut beti zela Unix-en egin daitekeenaren antzekoa zela. Aplikazioari zero CPU denbora esleitu zaiola eta prozesua memorian besterik ez dagoela, baliabide guztiak esleitu dira. beraz, birritan sakatu behar izan nuen hasiera eta berehala gelditu aplikazioa ezabatzeko. Beraz, horrek esan nahi du beheko ezkutuko orrian aplikazioaren ikono bat badago ere, aplikazioa aspaldi itxita dagoela (10 minuturen buruan)?
Beheko zerrendan, azkenik irekitako aplikazioak daude, eta horietako batzuk oraindik exekutatu daitezke, batzuk bertan behera gelditzen dira eta beste batzuk erabat amaitzen dira. Aplikazioa zerrendatik eskuz kentzeak "albo-ondorioa" du exekutatzen ari dela (edo eteten bada) amaitu egingo dela.
Aplikazioak bere buruari esan behar dio 10 minutu gehigarri horiei buruz, eta ez du ziurtatzen horiek lortuko dituenik.
Tira, horrek ez zuen kendu aplikazioa zerrendatik ixteko nire obsesioa (eta ustekabean baliabideak jaten baditu, ezta? :-D)
Nire ulermena da 10 minutuak atzeko planoan funtzionatu behar duten eta "skype, GPS eta musika erreproduzitzeko" kategorian sartzen ez diren aplikazioetarako direla. Beste aplikazio batzuk eseki modura aldatzen dira eta memorian geratzen dira memoria beste gauza batzuetarako behar den arte.
Esekitutako moduak abantaila du: aplikazioa hil behar baduzu, ez dituzu bere datuak galduko, dena gordeko da esekira aldatzean.
edo, adibidez, erreprodukzioaren kasuan, bg / fg komandoaren baliokidea
Eta zer gertatzen da denbora luzez atzeko planoan exekutatzen ari den erreproduzitzaileari edo beste aplikazioei buruz? Esan nahi dut, garatzaile gisa "aukeratzera" iristen naiz, ala hau Applek onartu behar al du nolabait?
Aplikazioa atzeko planoan denbora mugagabean exekutatzeko, ekintza hauetako bat egin (erregistratu) behar du:
- Erabili Kokapen zerbitzuak (GPS)
- Erreproduzitu musika atzeko planoan
- Erabili VOIP (Ahotsa IP bidez)
Izenburuaren arabera (kapapean begirada bat), artikuluak xehetasun teknikoekin azalpen pixka bat zabalagoa izatea espero nuen. Honek artikuluaren perex bat dirudi. Perex bada, noiz da segida? Itzulketa bat lor al dezakezu? :-)
eta zer gustatuko litzaizuke zehatzago jakin?
Izenburuan "kaputxa azpian" duen artikulu batetik, deskribapen tekniko zehatza esperoko nuke (egileak, adibidez, aplikazioak aldatzean gainkostua azter dezake, edo sistemaren baliabideetarako aldibereko sarbidea nola konpontzen den), beste eredu batzuekin alderatzea. (adibidez, jailbroken iPhone batekin). Neurri batzuekin babeskopia egitea aproposa da. Besterik gabe, askoz gehiago espero nuen izenburuan "kapapean" duen artikulu batetik, azaleko deskribapen honetatik baino.
Ba al dago Skype bezalako atzeko planoan etengabe exekutatzen den eta konexioa kentzen ez duen icq bezerorik?
aplikazioak 10 segundo ditu esekitze moduan sartzeko, ez 10 minutu... eta prozesu honetan zehar, zati batzuk backend zerbitzuetan "zintzilikatu" daitezke edo ez, horietako batzuk goian zerrendatuta daudenak - hori da Apple-k "adimentsua" deitzen duena. "Aniztasuna.... orduan sistemak bota zuen
Baliteke aplikazioak denbora gehiago behar izatea zerbait deskargatzen, kargatzen edo prozesatzen ari bada. Ez dauka zerikusirik GPSarekin, VoIPrekin edo musika erreproduzitzearekin, modu minimalistan denbora mugagabean ibiltzen direnak.