Oraindik jende asko dago iOS-en multiataza nola funtzionatzen duen ez dakiena. Hasteko, ordea, adierazi beharra dago hori ez dela benetako multiataza, sistema edo erabiltzailea zamatzen ez duen oso irtenbide adimentsua baizik.
Askotan entzun daitezke sineskeriak iOS-en atzeko planoan exekutatzen diren aplikazioek memoria eragilea betetzen dutela, eta horrek sistema moteltzea eta bateriaren iraupena dakar, beraz, erabiltzaileak eskuz itzali beharko lituzke. Ataza anitzeko barrak ez du exekutatzen ari diren atzeko planoko prozesu guztien zerrendarik, abian jarritako aplikazio berrienak baizik. Beraz, erabiltzaileak ez du atzeko planoan exekutatzen diren prozesuez kezkatu beharrik kasu batzuetan izan ezik. Hasierako botoia sakatzean, normalean aplikazioa lo egiten edo ixten da, prozesadorea edo bateria gehiago kargatzen ez dezan eta, behar izanez gero, behar den memoria askatzen du.
Beraz, hau ez da erabateko multiataza hamaika prozesu exekutatzen dituzunean. Aplikazio bakarra dago beti lehen planoan exekutatzen, eta behar izanez gero, pausatu edo erabat desaktibatu egiten da. Bigarren mailako prozesu batzuk bakarrik exekutatzen dira atzeko planoan. Hori dela eta, oso gutxitan aurkituko duzu aplikazioen hutsegite bat iOS-en, adibidez Android erabiltzaileak zaindu behar dituen aplikazioekin larrituta dago. Alde batetik, horrek gailuarekin lan egitea desatsegina egiten du, eta, bestetik, abiarazte motela eta aplikazioen arteko trantsizioak eragiten ditu, adibidez.
Aplikazioaren exekuzio-mota
Zure iOS gailuko aplikazioa 5 egoera hauetako batean dago:
- Korrika: aplikazioa abiarazi eta martxan dago lehen planoan
- Aurrekariak: oraindik exekutatzen ari da baina atzeko planoan exekutatzen ari da (beste aplikazio batzuk erabil ditzakegu)
- Etenda: Oraindik RAM erabiltzen baina ez da martxan
- Inaktibo: aplikazioa exekutatzen ari da baina zeharkako komandoak (adibidez, gailua blokeatzen duzunean aplikazioa martxan dagoela)
- Ez da martxan: Aplikazioa amaitu da edo ez da hasi
Aplikazioa bigarren planoan sartzen denean nahasmena sortzen da, ez molestatzeko. Hasierako botoia sakatzen duzunean edo aplikazioa ixteko keinua erabiltzen duzunean (iPad), aplikazioa bigarren planoan sartzen da. Aplikazio gehienak segundotan eten egiten dira (iDevice-ren RAMan gordetzen dira, azkar abiarazi ahal izateko, ez dute prozesadorea hainbeste kargatzen eta horrela bateriaren iraupena aurrezten dute) Pentsa dezakezu aplikazio batek memoria erabiltzen jarraitzen badu, eskuz ezabatzeko, askatzeko. Baina ez duzu hori egin behar, iOS-ek zure ordez egingo baitu. Atzeko planoan esekita dagoen aplikazio zorrotz bat baduzu, RAM kopuru handia erabiltzen duen joko bat adibidez, iOS-ek automatikoki kenduko du memoriatik beharrezkoa denean, eta berrabiarazi dezakezu aplikazioaren ikonoa sakatuta.
Egoera hauetako bat ere ez da islatzen zeregin anitzeko barran, panelak abian jarri berri diren aplikazioen zerrenda soilik erakusten du, aplikazioa gelditu, pausatu edo atzeko planoan exekutatzen den kontuan hartu gabe. Baliteke, gainera, une honetan exekutatzen ari den aplikazioa ez dela agertzen Multiataza panelean
Atzeko planoko zereginak
Normalean, Hasiera botoia sakatzen duzunean, aplikazioa atzeko planoan exekutatzen da, eta erabiltzen ez baduzu, automatikoki pausatu egingo da bost segundotan. Beraz, podcast bat deskargatzen ari bazara, adibidez, sistemak martxan dagoen aplikazio gisa ebaluatzen du eta amaiera hamar minutuz atzeratzen du. Gehienez hamar minutu igaro ondoren, prozesua memoriatik askatzen da. Laburbilduz, ez duzu hasierako botoia sakatuz deskarga eteteko kezkatu beharrik, 10 minutu baino gehiago behar ez badituzu.
Atzealdean korrika mugagabea
Aktibitaterik ezean, sistemak bost segundoko epean amaitzen du aplikazioa, eta deskargaren kasuan, amaiera hamar minutuz atzeratzen da. Hala ere, atzeko planoan exekutatu behar duten aplikazio kopuru txiki bat dago. Hona hemen iOS 5-en atzeko planoan mugagabean exekutatu daitezkeen aplikazioen adibide batzuk:
- Soinua erreproduzitzen duten eta denbora batez eten behar diren aplikazioak (telefono dei batean musika pausatzea, etab.),
- Zure kokapenaren jarraipena egiten duten aplikazioak (nabigazio softwarea),
- VoIP deiak jasotzen dituzten aplikazioak, adibidez Skype erabiltzen baduzu, dei bat jaso dezakezu aplikazioa atzeko planoan egon arren,
- Deskarga automatikoak (adib. Kioskoa).
Aplikazio guztiak itxi egin behar dira zeregin bat egiten ez badute (atzeko planoko deskargak adibidez). Hala ere, atzeko planoan etengabe exekutatzen diren salbuespenak daude, adibidez, jatorrizko Mail aplikazioa. Atzeko planoan exekutatzen ari badira, memoria, PUZaren erabilera edo bateriaren iraupena murrizten dute
Atzeko planoan mugagabean exekutatzeko baimena duten aplikazioek exekutatzen ari diren bitartean egiten duten edozer egin dezakete, musika erreproduzitu eta Podcast-eko pasarte berriak deskargatu arte.
Lehen aipatu dudan bezala, erabiltzaileak ez du inoiz atzeko planoan exekutatzen diren aplikazioak itxi behar. Honen salbuespen bakarra atzeko planoan exekutatzen den aplikazio bat huts egiten denean edo lotik behar bezala esnatzen ez denean da. Erabiltzaileak eskuz itxi ditzake aplikazioak zeregin anitzeko barran, baina hori gutxitan gertatzen da.
Beraz, oro har, ez duzu atzeko prozesuak kudeatu behar, sistemak berak zainduko dituelako. Horregatik iOS sistema fresko eta azkarra da.
Garatzaile baten ikuspegitik
Aplikazioak guztira sei egoera ezberdinekin erreakziona dezake zeregin anitzeko parte gisa:
1. applicationWillResignActive
Itzulpenean, egoera honek esan nahi du aplikazioak aplikazio aktibo gisa utziko duela (hau da, lehen planoko aplikazioa) etorkizunean (milisegundo gutxiko kontua). Hori gertatzen da, adibidez, aplikazioa erabiltzen duzunean dei bat jasotzean, baina, aldi berean, metodo honek egoera hori ere eragiten du aplikazioa bigarren planora pasa baino lehen, beraz, aldaketa hauek kontuan hartu behar dituzu. Metodo hau ere egokia da, adibidez, egiten ari den jarduera guztiak eteteko dei bat dagoenean eta deia amaitu arte itxaron.
2. applicationDidEnterBackground
Egoerak adierazten du aplikazioa bigarren planoan geratu dela. Garatzaileek metodo hau erabili beharko lukete zertan atzeko planoan exekutatu behar ez duten prozesu guztiak bertan behera uzteko eta erabili gabeko datuen eta beste prozesu batzuen memoria garbitzeko, hala nola tenporizadoreak iraungitzeko, nahitaez beharrezkoak ez diren memoriatik kargatutako irudiak garbitzeko edo ixteko. zerbitzariekin konexioak, aplikazioak atzeko planoan konexioak osatzea funtsezkoa ez bada behintzat. Metodoa aplikazio batean deitzen denean, funtsean, aplikazioa guztiz eteteko erabili beharko litzateke, baldin eta zatiren bat atzeko planoan exekutatu behar ez bada.
3. applicationWillEnterForeground
Egoera hau lehen estatuaren aurkakoa da, non aplikazioak egoera aktibora utziko duen. Egoerak esan nahi du lo egiten duen aplikazioa atzeko planotik berrekingo dela eta hurrengo milisegundoetan lehen planoan agertuko dela. garatzaileek metodo hau erabili beharko lukete aplikazioa atzeko planoan zegoen bitartean inaktibo zeuden prozesuei berriro ekiteko. Zerbitzarietarako konexioak berrezarri behar dira, tenporizadoreak berrezarri, irudiak eta datuak memorian kargatu, eta beharrezkoak diren beste prozesu batzuk berrekin daitezke erabiltzaileak kargatutako aplikazioa berriro ikusi baino lehen.
4. applicationDidBecomeActive
Egoerak adierazten du aplikazioa aktibatu berri dela lehen planora leheneratu ondoren. Erabiltzaile-interfazean doikuntza gehigarriak egiteko edo UI-a bere jatorrizko egoerara berrezartzeko erabil daitekeen metodoa da hau. Hau benetan erabiltzaileak aplikazioa pantailan ikusten duen unean gertatzen da, beraz, beharrezkoa da zehaztu kontuz zer gertatzen den honen metodoan eta aurreko metodoan. Bata bestearen atzetik deitzen dira milisegundo batzuen aldearekin.
5. aplikazioaAmaitu egingo da
Egoera hau aplikazioa irten baino milisegundo batzuk lehenago gertatzen da, hau da, aplikazioa benetan amaitu baino lehen. Eskuz eginkizun anitzeko edo gailua itzaltzean. Prozesatutako datuak gordetzeko, jarduera guztiak amaitzeko eta gehiago beharrezkoak ez diren datuak ezabatzeko erabili behar da metodoa.
6. applicationDidReceiveMemoryWarning
Gehien eztabaidatzen den azken egoera da. Beharrezkoa bada, aplikazioa iOS memoriatik kentzeaz arduratzen da sistemaren baliabideak beharrik gabe erabiltzen baditu. Ez dakit zehazki zer egiten duen iOS-ek atzeko planoko aplikazioekin, baina beste prozesu batzuetarako baliabideak askatzeko aplikazio bat behar badu, memoriaren abisu batekin dituen baliabideak askatzeko eskatzen dio. Beraz, metodo hau aplikazioan deitzen da. Garatzaileek inplementatu beharko lukete aplikazioak esleitutako memoria uzteko, abian dagoen guztia gordetzeko, beharrezkoak ez diren datuak memoriatik garbitzeko eta, bestela, memoria behar bezala askatzeko. Egia da garatzaile askok, hasiberriek ere, ez dutela horrelako gauzetan pentsatzen edo ulertzen, eta orduan gerta daiteke haien aplikazioak bateriaren iraupena mehatxatzea eta/edo alferrikako sistemaren baliabideak kontsumitzea, baita atzealdean ere.
Epaia
Sei egoera hauek eta haiei lotutako metodoak iOS-en "multitasking" guztien atzeko planoa dira. sistema bikaina da, baldin eta garatzaileek ez badute alde batera uzten aplikazioak erabiltzaileen gailuetan botatzen duenari buruz erantzule izan beharra dagoela, gutxitzen badira edo sistematik abisuak jasotzen dituzten eta abar.
iturria: Macworld.com
Egileak: Jakub Požárek, Martin Doubek (ArnieX)
Zuk ere baduzu arazoren bat konpontzeko? Aholkurik behar al duzu edo aplikazio egokia aurkitu behar duzu? Ez izan zalantzarik gurekin harremanetan jartzeko ataleko formularioaren bidez Aholkularitza, hurrengoan zure galderari erantzungo diogu.
Kaixo, oso artikulu polita, baina galdetzen diot ea laguntza teknikorik baduzu. Oheratu aurretik hainbat aldiz bateria konpondu dudalako eta gertatu da wifia eta datu mugikorrak itzalita, beste kasu batean baino gehiago behar duela wifia itzalita eta 3G bakarrik.
Zoritxarrez, esperientzia da iOS-en aplikazioak eskuz itzali behar direla eta sistema ez dela lehen bezain ondo exekutatzen.
Nire iPhonea Windows Phone batekin ordezkatu nuen (Samsung Omnia W 6200,-) eta sistemaren abiadura guztiz beste maila batean dago.
Beldur naiz Windows 8 Metro tabletak ateratzen direnean iPada ere ordeztuko dudala...
@007 - bai, iPhone3G zaharrak WP berriekin alderatzen badituzu, orduan bai (nork espero zezakeen hori?) WP nahiko azkarragoa izango da. Bestela, Karlulkari buruzko esamesak ez zaizkizu ondo ateratzen eta egokia zen egungo HWa alderatzea. WP7 ere erosi nuen eta azkenean 4s-ekin amaitu nuen, WP7 baino erabilgarritasun maila guztiz desberdina adierazten duena. Beraz, pasa atsegin eta etengabe korritu fitxetatik.
Guztiz ados nago Pajarekin
Berriro ere ekarpena egingo nuke beste upel baten hondakinetatik - Samsung Galaxy S eta iPhone 4 - konparagarria esango nuke adinaren arabera? iOS 4-ren garaian, eta erabilgarritasunari eta abiadurari dagokionez, Android ez den beste nonbait, Applek oso ondo konpondu du aplikazioekin lan egiteko kontzeptua, baina Android-ekin jada ez da gauza bera gertatzen. Azkenean, hala ere 4S-arekin amaitu nuen eta ez dut kexarik, "funtzionatzen du" delako .. eta oso azkar funtzionatzen du!
Teoria ederra da... Baina praktikan, oraindik aplikazioa ixten dut barran ;)
Eskerrik asko, oso interesgarria, pragmatikoa, interesgarria, ez zaio swing eta sakontasuna falta. Gaur egungo gazteek debekatutako marka honekin duten obsesioa nabarmen azpimarratuz! Baina eskerrik asko beragatik, baita artikulu honengatik ere.
Artikulua guztiz oker dago.
Aplikazioa ez da irteten Hasiera botoia sakatzean, oker esan bezala, pausatu egiten da. I.e. zalantzarik gabe ez ezabatu memoriatik eta ez irten. Pausatu exekuzioa, iOS-ek aplikazio honi %0 CPU denbora emango dio. Zalantzarik gabe, ez du "trukatzen" iDevice memorian inon, artikuluan esaten den bezala. Benetan, aplikazioaren aldaketa erabil daitekeela esker da.
Aplikazioa memoriatik kentzen da telefonoak memoria gutxi duenean lehentasun handiagoa duten beste aplikazio batzuk exekutatzeko (normalean beste aplikazio bat exekutatzen da lehen planoan).
Lehenengo kasuan, arrazoi duzu, itzulpen akats bat izan zen. Trukatzeari dagokionez, hemen ez gara horretaz ari, memoria eragileaz ari gara, ez iOS gailuko biltegiratze espazioaz.
aplikazioaren irudia denbora mugatu batean gordetzen da memorian komando baten bidez berriro deitzen den arte (ikus 13,7 GB 16 GBtik: 2,3 GB sistemarako eta etendako aplikazioetarako gordeta dago)
Horrela, beharrezkoa da Nabigazioa, Skype eta antzeko aplikazioak bereiztea, aplikazio hauek aktibatuta jarraitzen dute atzeko planoan ere, edo funtzio jakin bat ez da amaitzen eta jarraitzen du, adibidez, bere kokapenari edo kokapenari buruzko informazioa bidaltzen. Edo Vokul pord moduan entzun eta multiataza atzeko planoan entzuten jarraitzen du.
Aplikazio hauek bateria agortzen dute eta eskuz ixtea beharrezkoa da eta ez iOS itxaron. beste batzuekin ez da beharrezkoa, hor aplikazioa huts egiten bada.
Ezin naiz ados jarri artikuluarekin. Min. 1. belaunaldiko iPad batean (iOS 5.0.1) argi dago multiataza barran aplikazio "ireki" asko ditudan edo gutxi batzuk besterik ez. iOS memoria garbitzen saiatzen da, baina, jakina, ez da nahikoa - RAMaren tamaina txikia da ziurrenik bere ahulgunerik handiena.
beraz, asko da sistemaren eta erabilitako hardwarearen araberakoa, nahiko logikoa da iOS 1 duen iPad 5.0.1 batean okerragoa izango dela 2. belaunaldiko iPad batean egongo balitz baino.
Barkatu lagun, hau funtzionatzeko modu IDEALAREN deskribapena da. Zoritxarrez, errealitatea guztiz bestelakoa da eta Apple produktuak erabiliko bazenitu jakingo zenuke, nik bezainbeste (hau da, noizean behin).
"Askotan entzun ditzakezu iOS-en atzeko planoan exekutatzen diren aplikazioek memoria eragilea betetzen dutela esaten duten sineskeriak".
Ez da sineskeria bat, egitate bat baizik. Azken finean, zuk zeuk aldarrikatzen duzu artikuluan.
"Lehen aipatu dudan bezala, erabiltzaileak ez du inoiz atzeko planoan exekutatzen diren aplikazioak itxi behar".
ZENTZUKIA. Hori astakeria besterik ez da, sagar propaganda, ez haserre nirekin.
“Baina ez duzu hori egin beharrik, iOS-ek zuregatik egingo baitu. Atzeko planoan esekita dagoen aplikazio zorrotz bat baduzu, RAM kopuru handia erabiltzen duen joko bat adibidez, iOS-ek automatikoki kenduko du memoriatik beharrezkoa denean, eta berrabiarazi dezakezu aplikazioaren ikonoa sakatuta".
Ez da egia. Egoera apur bat ezberdina da. Adibide tipiko bat: atzeko planoan exekutatzen ari diren aplikazio zorrotzak ditut, jokoak behar ditut. Nabigatzailea abiarazten dut, fitxa pare bat ireki -> memoria gehiago behar dut. Zer gertatuko da? Aplikazioak eskatzen jarraitzen dut bigarren planoan, aitzitik, ARAKATZAILEA BERE ERORTZEN DA. Aplikazio zorrotzak eskuz ixten baditut, nabigatzaileak denbora luzez funtzionatzen du arazorik gabe.
Hau praktika da, ez teoria. Eta harrituta nago, Apple produktu baten epe luzeko erabiltzaile gisa, oraindik hau ez jakitea.
Eskerrik asko, hau oso ondo deskribatuta eta ondo azalduta dago. Pixka bat lagundu didazu ;-) ♥
Hasteko, ez nago ez iOSen alde ez kontra, Android-ekin bezala, baina hemen gauza bitxi batzuk daude, hemen idatzita dagoen moduan: "iOS-en oso gutxitan topatzen duzu aplikazioen hutsegite bat" orduan Android-eko aplikazioetan huts egiten du. urtean behin: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Bai, baina aplikazioa eskuz itxi behar duzun kasuak oso txikiak dira, behin erabili nuen? ;-) eta Mobilemaniako konparazio proba bati esteka bat ematea nahiko alferrikakoa da, Google-k ordaindutako publizitatea irakurri nahi dudanean, begirada bat botako dut ;-) edonork eskura dezake edozein Android telefono eskuan eta ez da garbi exekutatzen, hau da, Galaxy Nexus izan ezik, hau da, sistema gutxi gorabehera neurrira eginda dago. Orokorrean, Android hondamendia da
@Mek - Hainbat urte daramatzat egunero Apple produktuak erabiltzen eta ez zait inoiz horrelakorik gertatu, beraz, zure teoriak ez du nolabait funtzionatzen.
BELAS:
@redakce – Webgunea etengabe lantzen ari dela edo horrekin zerbait gertatzen ari dela ikusten da, baina dena behar den bezala funtzionatzeko astebete behar ez dela iruditzen zait. Eta benetan ez naiz hona etortzen, itxura berria ez zaidalako egokitzen. Gutxienez iPhone-n mugikorreko bertsioa erabili nuen, baina orain ez du batere funtzionatzen - nola ez? Une honetan ez diete iruzkinetako mezuei erantzuten.
@SteveJSF Zoritxarrez, gauzak ez dira beti nahi dugun moduan ateratzen. Erantzunei dagokienez, SEO plugin berriak hautsi egin ditu, une honetan konpontzen ari da.
WP-Touch-ek ere gure zerbitzua amaitu zuen arrazoiren batengatik, beraz, plugin hau baino irtenbide hobea aurkitzea erabaki genuen. Beraz, laster hurrengo albisteen zain egon zaitezke :-)
Artikulu polita. Praktikari dagokionez, esan nahiko nuke hainbat gauzekin ados nagoela eta gehienetan esan bezala funtzionatzen duela, baina, tamalez, oraindik gaizki idatzitako aplikazioak daude, behar bezala jokatzen ez dutenak, eta, gero, horrelako kasuak daude. irakurle batzuek adierazi dute. Uste dut Skype oso adibide ona dela, praktikatik badakit oraindik atzealdean exekutatzen ari dela (eta ondo dago eta horrela izan behar du), baina arazoa da aplikazio honek gailuaren bateria asko agortzen duela eta Jada ezin dut ondo ikusten. Aitzitik, Facebook, Badoo eta abar bezalako aplikazioak. atzealdean ere martxan dira oraindik, baina haien kontsumoa ia hautemanezina da (nik ez dut nabaritzen behintzat). Beraz, akatsa aplikazio indibidualetan dagoela uste dut. Zeintzuk jakingo bazenu, nahikoa izango litzateke eskuz horiek bakarrik itzaltzea!
Beraz, praktika Facebook behar bezala exekutatzen da eta Skype behar denean bakarrik.
Beno, bestalde, bateria aurreztu behar badut eta iPhonea "bizirik" mantendu behar dudala jakin badakit, multiataza-n beharrezkoa ez den guztia ere itzaltzen dut, baina gehienetan ez du eragin handirik, baina behar izanez gero 3G mugatzen dut, internet mugikor guztia, WiFi, kokapen zerbitzuak, hegazkin modua, argiztapenaren indarra, etab. Errutinaren barruan, aipatutako aplikazioak ere itzaltzen ditut multiataza-n.
Beraz, pertsonalki uste dut artikulua egia dela, zoritxarrez programatzaile batzuek gauza hauek gezurtatzen dituzte beren aplikazioekin, haien aplikazioak okerrak direlako eta nire ustez bi irtenbide besterik ez daude horretarako 1. Posible bada aplikazioa ez erabiltzea eta bat aurkitzea. alternatiba ahal bada, edo 2. Ezinezkoa bada, ikusi adibidez Skype, idatzi txostenean emandako programatzaileari eta espero zerbait egingo dutela.
Baliteke aplikazioak eskuz desgaitzea alferrikakoa izatea, baina hala ere egiten dut. Aplikazio-sistema ez itzaltzen ere saiatu nintzen, exekutatzen uzten (edo atzeko planoan lotan uzten) eta bateriaren iraupena askoz txikiagoa zen, iPad 2-a ere berrabiarazi behar izan nuen hiru aste ingururen buruan, poliki-poliki erantzun zuen. Beraz, eskuz itzaltzen ditut aplikazioak, bateriak gehiago irauten du, duela gutxi Eguberri egunean berrabiarazi nuen eta ondo dabil.
Bide batez, Mac OS X-en gauza bera egiten dut, behar ez dudan aplikazioa ixten dut (CMD+Q), hobe da bigarren planoan lo egitea eta RAM beharrik gabe jatea baino (OS X-ek egin dezakeena" oso ondo funtzionatzen du). RAM gutxi daukat, 8 GB baino ez, baina 7 GBko Windows 8-n, sistemak ez zuen poliki erantzuten edo trukatzen, OS Xn nahiko fenomeno arrunta da (ez dut inoiz itzali ordenagailua, Mac-ekin ere egiten dut, beraz, hilabete bat eta gehiago denbora ez da salbuespena, arazoa da batzuetan Mac berrabiarazi behar dudala RAM askatzeko eta "bizkortzeko", Windows 7-k ez du hori behar).
Gehiago interesatzen zait aplikazioa nola lehertu. Gertatu zitzaidana izan zen aplikazioa (bereziki Geocaching-ean) zerbitzari nagusitik zerbait kargatzen ari zen egoera batean sartu eta egoera horretan trabatu egin zela. Hasierako botoiak funtzionatu zuen, berrabiarazi ondoren izoztutako egoerara itzuli zen (non utzi nuen). Eskuzko irteera (dasta anitzeko menura, eduki sakatuta ikonoa eta minus ixteko) = aplikazioa desagertu egin da, berrabiarazi ondoren, jatorrizko egoeran ireki zen eta bertan izoztu zen. Beraz, dena itxi nuen, telefonoa itzali, piztu, sakatu bikoitza HOME eta hara: aplikazioak guztiak itxi aurretik zeuden bezala zeuden itzali baino lehen. Berrabiarazteak ere ez zuen lagundu - eutsi etxean eta goian beroa egin arte. Lagungarri bakarra aplikazioa telefonotik kentzea, berrabiarazi eta telefonoan berriro instalatzea izan da. Nolabait ez nuen hartu.
Multiataza kudeaketa honek funtzionatzen du eta garatzaileei dagokie egoera horiei aurre egitea. Egoera osoaren deskribapen zehatzago eta profesionalagoa izateko interesa dutenentzat, hemen idatziko dut nola dagoen.
Aplikazioak guztira 6 estaturi erantzun diezaieke eta egoera hauek hauek dira:
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applicationDidBecomeActive
aplikazioa amaituko da
applicationDidReceiveMemoryWarning
Orain egoera hauek zehatzago deskribatzen saiatuko naiz.
applicationWillResignActive - egoera honek esan nahi du etorkizunean (milisegundo gutxiko kontua) aplikazioak aplikazio aktibo gisa utziko duela (hau da, lehen planoko aplikazioa) hau gertatzen da, adibidez, aplikazioa erabiltzen duzunean dei bat jasotzean, baina aldi berean hau metodoa, beraz, egoera hau aplikazioa bigarren planoan sartu baino lehen ere piztuko da, beraz, aldaketa hauek kontuan hartu behar dituzu. Metodo hau ere egokia da, adibidez, egiten ari den jarduera guztiak eteteko dei bat dagoenean eta deia amaitu arte itxaron.
applicationDidEnterBackground - egoera honek aplikazioa atzeko planoan sartu dela adierazten du, garatzaileek metodo hau erabili beharko lukete zertan atzeko planoan exekutatu behar ez duten prozesu guztiak bertan behera uzteko eta erabili gabeko datuen eta beste prozesu batzuen memoria garbitzeko, adibidez, iraungitzeko tenporizadoreak, memoria kargatutako irudiak, nahitaez beharrezkoak ez direnak edo zerbitzariekin konexioa amaituko dutenak, aplikazioak atzeko planoan konexioa osatzea ezinbestekoa ez bada. Funtsean, aplikazioan deitzen denean metodo hau aplikazioa erabat eteteko erabili behar da zatiren bat atzeko planoan exekutatu behar ez bada.
applicationWillEnterForeground - egoera hau aplikazioak egoera aktibora utziko duen lehen egoeraren aurkakoa da. Aplikazioaren egoera honek esan nahi du, besterik gabe, hurrengo milisegundoetan lo dagoen aplikazioa atzeko planotik berrekingo dela eta lehen planoan agertuko dela (aplikazioa lehen planoan sartzen da). atzeko planoan, zerbitzarietarako konexioak berrezarri behar dira, tenporizadoreak berrezarri, irudiak eta datuak memorian kargatu eta beharrezkoak diren beste prozesu batzuk berrekin daitezke erabiltzaileak kargatutako aplikazioa berriro ikusi baino lehen.
applicationDidBecomeActive - egoera honek adierazten du aplikazioa aktibo bihurtu dela lehen planora leheneratu ondoren, hau erabiltzailearen interfazean doikuntza gehigarriak egiteko edo UI jatorrizko egoerara berrezartzeko erabil daitekeen metodo bat da, etab. metodo hau benetan gertatzen da. erabiltzaileak dagoeneko pantailan ikus dezakeenean, beraz, beharrezkoa da balantzetik zehaztea metodo honetan eta aurreko metodoan zer gertatzen den. Bata bestearen atzetik deitzen dira milisegundo batzuen aldearekin.
applicationWillTerminate - egoera hau aplikazioa amaitu baino milisegundo batzuk lehenago gertatzen da, hau da, aplikazioa benetan amaitu baino lehen. Eskuz eginkizun anitzeko edo gailua itzaltzean. Metodo hau erabili behar da prozesatutako datuak gordetzeko eta jarduera guztiak amaitzeko eta gehiago beharrezkoak ez diren datuak ezabatzeko.
applicationDidReceiveMemoryWarning - eta hemen asko eztabaidatzen den baldintza da, behar izanez gero, iOS-ek aplikazioa memoriatik kenduko du sistemaren baliabideak alferrik erabiltzen baditu. Ez dakit zehatz-mehatz zer egiten duen iOS-ek atzeko planoko aplikazioekin, baina beste prozesu batzuetara baliabideak askatzeko aplikazio bat behar badu, memoria abisu batekin eskatzen dio dauzkan baliabideak askatzeko. Beraz, metodo hau aplikazioan deitzen da, eta garatzaileek inplementatu beharko lukete aplikazioak duen memoria uzteko, prozesatutakoa gordetzeko eta memoriatik beharrezkoak ez diren datuak ezabatzeko eta, bestela, memoria behar bezala askatzeko. Egia da garatzaile askok, hasiberriek adibidez, ez dutela horrelako gauzetan pentsatzen edo ez dituztela ulertzen, eta orduan gerta daiteke haien aplikazioak bateriaren iraupena arriskuan jartzea eta/edo alferrik kontsumitzea sistemaren baliabideak atzealdean ere. Ez dakit nola jokatuko duen iOS aplikazioak memoriaren abisua jaso ondoren ezer egiten ez badu eta sistemaren baliabideak lehen bezala kontsumitzen jarraitzen badu.
Egoera gutxi hauek eta erlazionatutako metodoak iOS-en "multitasking" osoaren atzean daude... sistema bikaina da garatzaileek ez badute jaramonik egiten ez badute aplikazioek erabiltzaileen gailuetan botako dutenaren ardura izan beharrik, txikiagotuz gero. edo jaso sistematik abisuak eta gehiago...
Espero dut deskribapen labur honek aplikazioak nola parte hartzen duen ulertzen lagunduko dizula guztia ondo funtzionatzeko. Beraz, ia posible da erabiltzailearen erabilera okerreko akatsa dela esatea, hau da, hau da: garatzaile amateurren doako aplikazioak kopuru handitan erabiltzen badituzu, zure iOS gailua okerrago funtzionatuko du handi bat erabiltzen baduzu baino. garatzaile esperientziadun edo profesionalen doako eta ordainpeko aplikazioen kopurua. Horrek ez du esan nahi bi zirkuluetan salbuespenik ez dagoenik. Esaterako, foursquare-k nahiko arraro eta zorrotz jokatzen du, eta, aldi berean, memoria eta bateriaren kudeaketari denbora asko ematen dioten garatzaile oso trebeak izatea espero litzateke, baina alderantziz gertatzen da. 4SQ-ren arazo handiena zerbitzariekiko komunikazioa da, askotan zintzilikatu eta gainezka egiten dena. Aplikazio ezagunek ere arazoak dituztenaren adibide bat besterik ez da, eta horrek ez du aldatzen 4SQ zerbitzu bikaina dela.
Ondo pasa Sagarrak!! :)
Egilearen baimenarekin gehitu dugu informazioa artikuluari ;-)
Sentitzen dut, ENTER nonahi zegoen paragrafoen artean, hemen zerbait egin zezaketen, iruzkinek gutxienez TESTU FORMATZE ABERATSA izan zezaten.
ArnieX: eskerrik asko iruzkinagatik!!
Faramir hori: Zure arazoari buruz nago, ez dakit zure kasuan lagunduko dizun, baina nire esperientziatik badakit aplikazioa ixten baduzu (multiataza) segundo batzuk igarotzen direla ixteko, beraz, itzaltzen duzu segundo batzuk itxarotea gomendatzen dut (10 segundo inguru itxaroten dut ziur izateko) behin betiko amaitu arte eta orduan bakarrik hasten naiz berriro.
Ongi etorri ;) Pozik lagunduko dizut ekarpenak egiteko aukera badut.
Nola egon behar da Meeb-ekin, haren bidez ICQ edo FB txatean saioa hasten dudanean, 10 minuturen buruan automatikoki amaitzen da eta lineaz kanpo geratzen naiz edo lanean jarraitzen du? eskerrik asko argitzeagatik :P
Hamar minuturen buruan, aplikazioaren Interneterako konexioa eten besterik ez da egiten. Hala ere, oraindik ere konektatuta egongo zara Meeba zerbitzarian eta push jakinarazpen bat jasoko duzu norbaitek idazten badizu. Aplikazioa berriro ireki ondoren, une batean konexioa ezarriko da eta pozik txateatzen jarraitu dezakezu.
Beraz, lotu duzun artikulua ondo ulertu badut, estatistikek aplikazioen hutsegiteei soilik egiten diete erreferentzia abiaraztean, hau da, hutsegite bat gerta daitekeen kasuen ehuneko nahiko txikia da. Hori dela eta, ezinezkoa da "ikerketa" honetatik ondorioztatu iOS gutxiago egonkorra dela nire ustez. Gainera, Forbes-etik hartutako artikuluaren itzultzaileak ahaztu egin zuen aipatzea aplikazioen hutsegiteei buruzko datuak ematen dituen konpainiak Google-k onartzen duela, besteak beste ("Crittercism, Google Ventures-ek babestua,...").