Dvaput kliknete gumb Početna i povučete svoje aplikacije s vrha zaslona: Dobra ili loša ideja? Došlo je neke zabune u posljednje vrijeme o tome je li zatvaranje vaših iPhone i iPad aplikacija korisno ili štetno, osobito u pogledu trajanja baterije. Uvijek sam govorio da je to dobra ideja: Close Out Your Apps je savjet 4 mog članka o tome kako uštedjeti bateriju iPhonea.
U ovom ću članku objasniti zašto zatvaranje vaših aplikacija može biti korisno za trajanje baterije vašeg iPhonea, pružite izvatci iz dokumentacije za Apple Developer koji to podržavaju i uključuju neke primjere iz testova u stvarnom svijetu Koristio sam Apple Developer Tools i moj iPhone.
Kada pišem, želim da informacije koje dajem budu korisne i lako razumljive svima. Obično se ne bavim previše tehničkim temama jer mi je moje iskustvo rada u Apple Storeu pokazalo da ljudima počnu cakliti oči kad počnem govoriti o procesima, CPU vrijeme i životni ciklus aplikacije.
U ovom članku zaronit ćemo malo dublje u kako aplikacije funkcioniraju kako biste mogli donijeti informiranu odluku o zatvaranju vaša iPhone ili iPad aplikacija je prava stvar za vas. Prvo ćemo govoriti o životnom ciklusu aplikacije, koji opisuje što se događa od trenutka kada otvorite aplikaciju do njenog zatvaranja i brisanja iz memorije.
Životni ciklus aplikacije
Postoji pet stanja aplikacije koja čine životni ciklus aplikacije. Svaka aplikacija na vašem iPhoneu trenutno je u jednom od ovih stanja, a većina je u stanju ne radi. Apple Developer dokumentacija objašnjava svaki od njih:
Ključni zaključci
- Kada pritisnete gumb Početna da biste napustili aplikaciju, ona prelazi u Pozadinu ili Obustavljenodržava.
- Kada dvaput kliknete gumb Početna i povučete aplikaciju s vrha zaslona, aplikacija se zatvara i prelazi u Not Runningdržava.
- Stanja aplikacije također se nazivaju načinima rada.
- Aplikacije u Pozadinskom načinu rada i dalje rade i troše bateriju, ali aplikacije u Obustavljenom načinu radanemoj.
Prevlačenje aplikacija prema gore: Zatvaranje ili prisilno napuštanje?
Da razjasnimo neke zabune oko terminologije, kada dvaput kliknete gumb Home na svom iPhoneu i povučete aplikaciju s vrha zaslona, zatvarate aplikaciju. Prisilno napuštanje aplikacije drugačiji je postupak o kojem planiram pisati u nekom budućem članku.
Appleov članak podrške o iOS Multitaskingu potvrđuje ovo:
Zašto zatvaramo svoje aplikacije?
U svom članku o tome kako uštedjeti trajanje baterije iPhonea, uvijek sam govorio ovo:
Ukratko, glavni razlog zbog kojeg preporučujem zatvaranje vaših aplikacija jest spriječavanje pražnjenja baterije kada aplikacija ne prijeđe u pozadinsko ili obustavljeno stanje na način trebalo bi. U svom članku o tome zašto se iPhone uređaji zagrijavaju, uspoređujem CPU vašeg iPhonea (središnja procesorska jedinica; mozak operacije) s motorom automobila:
Ako pritisnete papučicu do kraja dulje vrijeme, motor automobila se pregrijava i troši puno goriva. Ako se CPU iPhonea okreće do 100% dulje vrijeme, iPhone se pregrijava i baterija se brzo prazni.
Sve aplikacije koriste CPU na vašem iPhoneu. Uobičajeno, aplikacija koristi veliku količinu procesorske snage na sekundu ili dvije kada se otvori, a zatim se vraća u način rada s nižom potrošnjom dok koristite aplikaciju.Kada se aplikacija sruši, CPU iPhonea često zapne na 100%. Kada zatvorite svoje aplikacije, pazite da se to ne dogodi jer se aplikacija vraća u stanje neaktivnosti.
Je li štetno zatvoriti aplikaciju?
Apsolutno ne. Za razliku od mnogih programa na vašem Macu ili PC-u, iPhone aplikacije ne čekaju da kliknete “Spremi” prije nego što spremaju vaše podatke. Appleova dokumentacija za razvojne programere naglašava važnost spremnosti aplikacija da se prekinu u trenu:
Kad zatvorite aplikaciju, i to je u redu:
Argument protiv zatvaranja iPhone i iPad aplikacija
Postoji argument protiv zatvaranja vaših aplikacija i on se temelji na činjenicama. Međutim, temelji se na vrlo uskom pogledu na činjenice. Evo ukratko i ukratko:
- Potrebno je više energije za otvaranje aplikacije iz stanja neaktivnosti nego za nastavak iz pozadinskog ili obustavljenog stanja. Ovo je apsolutna istina.
- Apple ulaže puno truda kako bi osigurao da iPhone operativni sustav učinkovito upravlja memorijom, što minimalizira količinu potrošnje baterije aplikacijama kada su u pozadini ili u suspendiranom stanju. Ovo je također istina.
- Trašite trajanje baterije ako zatvorite svoje aplikacije jer je potrebno više energije za otvaranje iPhone aplikacija od nule nego što operativni sustav koristi za njihovo ponovno pokretanje iz pozadine i suspendiranog stanja. Ponekad istina.
Pogledajmo brojke
Programeri često koriste CPU vrijeme za mjerenje koliko je iPhone uložio truda da izvrši zadatke, jer to može imati izravan utjecaj na trajanje baterije. Koristio sam Appleov alat za razvojne programere pod nazivom Instruments za mjerenje utjecaja nekoliko aplikacija na CPU mog iPhonea.
Upotrijebimo Facebook aplikaciju kao primjer:
- Otvaranje Facebook aplikacije iz stanja neaktivnosti koristi oko 3,3 sekunde CPU vremena.
- Zatvaranje bilo koje aplikacije briše je iz memorije, vraća je u stanje neaktivnosti i ne koristi praktički nikakvo CPU vrijeme – recimo 0,1 sekunde.
- Pritiskom na tipku Home šalje Facebook aplikaciju u pozadinsko stanje i koristi oko 0,6 sekundi CPU vremena.
- Nastavljanje Facebook aplikacije iz pozadinskog stanja koristi oko 0,3 sekunde CPU vremena.
Stoga, ako otvorite Facebook aplikaciju u stanju neaktivnosti (3.3), zatvorite je (.1) i ponovno otvorite u neaktivnom stanju (3.3), ona koristi 6,7 sekundi CPU vrijeme. Ako otvorite Facebook aplikaciju iz stanja neaktivnosti, pritisnite tipku za početnu stranicu da je pošaljete u pozadinsko stanje (.6) i nastavite je iz pozadinskog stanja (.3), samo to koristi 4,1 sekundu CPU vremena.
Wow! U ovom slučaju, zatvaranje Facebook aplikacije i njezino ponovno otvaranje koristi još 2,6 sekundi CPU vremena. Ostavljanjem Facebook aplikacije otvorenom, potrošili ste oko 39% manje energije!
A pobjednik je…
Ne tako brzo! Moramo pogledati širu slikuda biste dobili točniju procjenu situacije.
Stavljanje potrošnje energije u perspektivu
39% zvuči kao puno, i jest – sve dok ne shvatite koliko je beskrajno mala količina energije o kojoj govorimo u usporedbi sa snagom koja joj je potrebna koristiti svoj iPhone. Argument protiv zatvaranja vaših aplikacija zvuči sjajno dok ne shvatite temeljen je na statistici koja nije bitna.
Kao što smo spomenuli, uštedjet ćete 2,6 sekundi CPU vremena ako ostavite Facebook aplikaciju otvorenom umjesto da je zatvorite. Ali koliko energije troši Facebook aplikacija kada je koristite?
Skrolao sam kroz svoj newsfeed 10 sekundi i koristio 10 sekundi CPU vremena, ili 1 sekundu CPU vremena po sekundi kada sam koristio aplikaciju.Nakon 5 minuta korištenja Facebook aplikacije, iskoristio bih 300 sekundi CPU vremena.
Drugim riječima, morao bih otvoriti i zatvoriti Facebook aplikaciju 115 puta da bih imao toliki utjecaj na trajanje baterije kao 5 minuta korištenja Facebook aplikacije. Ovo znači sljedeće:
Nemojte odlučivati hoćete li ili ne zatvoriti svoje aplikacije na temelju beznačajne statistike. Temeljite svoju odluku na tome što je najbolje za vaš iPhone.
Ali to nije jedini razlog zašto je zatvaranje vaših aplikacija dobra ideja. Idemo dalje…
Sporo i stabilno sagorijevanje CPU-a u pozadinskom načinu rada
Kada aplikacija uđe u pozadinski način rada, nastavlja koristiti bateriju čak i kada vaš iPhone spava u vašem džepu. Moje testiranje Facebook aplikacije potvrđuje da se to događa čak i kada je pozadinsko osvježavanje aplikacije isključeno.
Nakon što sam zatvorio Facebook aplikaciju, nastavila je koristiti CPU čak i kad je iPhone bio isključen. Tijekom jedne minute, koristio je 0,9 sekundi dodatnog CPU vremena.Nakon tri minute, ostavljanje otvorene Facebook aplikacije trošilo bi više energije nego što bi bilo da smo je odmah zatvorili.
Pouka priče je sljedeća: Ako koristite aplikaciju svakih nekoliko minuta, nemojte je zatvarati svaki put kada je koristite. Ako je koristite rjeđe, bilo bi dobro da je zatvorite.
Da budemo pošteni, mnoge aplikacije idu ravno iz pozadinskog načina rada u obustavljeni način rada, a u obustavljenom načinu rada aplikacije uopće ne troše energiju. Međutim, ne postoji način da znate koje su aplikacije u pozadinskom načinu rada, pa je dobro pravilo da ih sve zatvorite. Upamtite, količina energije koja je potrebna za otvaranje aplikacije od nule je blijedi u usporedbi s količinom energije koja je potrebna za korištenje aplikacije.
Softverski problemi se događaju stalno
iPhone aplikacije ruše se češće nego što mislite. Većina padova softvera je manja i ne uzrokuje nikakve vidljive nuspojave. Vjerojatno ste to već primijetili:
Koristite aplikaciju i odjednom, zaslon zatreperi i završite ponovno na početnom zaslonu. Ovo se događa kada se aplikacije ruše.
Također možete vidjeti zapisnike o rušenju u Postavke -> Privatnost -> Dijagnostika i upotreba -> Podaci o dijagnostici i upotrebi.
Većina padova softvera nije razlog za brigu, pogotovo ako zatvorite svoje aplikacije. Često se aplikacija koja ima softverski problem jednostavno mora pokrenuti ispočetka.
Primjer uobičajenog softverskog problema
Vrijeme je ručka i primijetili ste da se baterija vašeg iPhonea ispraznila do 60%. Za doručkom ste provjeravali svoju e-poštu, slušali glazbu, uzdisali nad stanjem na bankovnom računu, gledali TED govor, listali Facebook, poslali Tweet i provjerili rezultat sinoćnje košarkaške utakmice.
Popravljanje aplikacije koja se ruši
Sjećate se da aplikacija koja se ruši može uzrokovati brzo pražnjenje baterije i da zatvaranje aplikacije to može popraviti, ali ne znate koja aplikacija uzrokuje problem.U ovom slučaju (a to je stvarno), TED aplikacija prži CPU iako ne koristim svoj iPhone. Problem možete riješiti na jedan od dva načina:
- Oglašavati
- Medijska spominjanja
- Sitemap
- Pravila privatnosti
- Kontakt
- Español
