Da li je zatvaranje iPhone aplikacija loša ideja? Ne, i evo zašto.

Is Closing Iphone Apps Bad Idea







Isprobajte Naš Instrument Za Eliminiranje Problema

Dvokliknete dugme Početna i prevučete aplikacije s vrha ekrana: Dobra ili loša ideja? U posljednje vrijeme postoji neka zabuna oko toga je li zatvaranje aplikacija za iPhone i iPad korisno ili štetno, posebno s obzirom na vijek trajanja baterije. Uvijek sam govorio da je to dobra ideja: Zatvorite svoje aplikacije je savjet # 4 mog članka o kako uštedjeti bateriju iPhone uređaja.





U ovom članku ću objasniti zašto zatvaranje aplikacija može biti korisno za vijek trajanja baterije iPhonea , pružiti izvodi iz dokumentacije za Apple Developer da to podrže i uključe neke primjeri iz stvarnih testova Koristio sam Apple Developer Tools i svoj iPhone.



Kada pišem, želim da informacije koje pružam budu korisne i jednostavne svima razumjeti. Obično nisam previše tehnički, jer mi je to pokazalo iskustvo rada u Apple Storeu ljudske oči počinju da se blešte kad počnem pričati o tome procesi , CPU vrijeme , i životni ciklus aplikacije .

Zatvaranje iPhone aplikacijeU ovom ćemo članku zaroniti malo dublje kako rade aplikacije tako da možete donijeti informiranu odluku o tome je li zatvaranje aplikacija za iPhone ili iPad pravo za vas. Prvo ćemo razgovarati o Životni ciklus aplikacije , koji opisuje šta se događa od trenutka kada otvorite aplikaciju do zatvaranja i brisanja iz memorije.

Životni ciklus aplikacije

Ima ih pet aplikacija navodi koji čine životni ciklus aplikacije. Svaka aplikacija na vašem iPhoneu trenutno je u jednom od ovih stanja, a većina je u ne trči država. Dokumentacija za Apple Developer objašnjava svaki od njih:





kardinalno tapkanje po praznovjerju prozora

Ključni za poneti

  • Kada pritisnete tipku Početna da napustite aplikaciju, ona prelazi u Pozadina ili Suspended država.
  • Kada dvaput kliknete gumb Početna i prevučete aplikaciju s vrha zaslona, ​​aplikacije zatvara i odlazi u Ne trči država.
  • Aplikacija države se takođe nazivaju načina.
  • Aplikacije u Režim u pozadini još uvijek rade i prazne bateriju, ali aplikacije su u Suspendirani način rada nemoj.

Prevlačenje aplikacija prema gore: zatvaranje ili prisilni prekid?

Da biste raščistili zabunu oko terminologije, kada dvaput kliknete gumb Početna na iPhoneu i prevučete aplikaciju s vrha ekrana, zatvaranje aplikacija. Prisilni otkaz aplikacija je drugačiji postupak o kojem planiram pisati u budućem članku.

Appleov članak o podršci o iOS Multitasking potvrđuje ovo:

„Da biste zatvorili aplikaciju, dvaput kliknite gumb Početna da biste vidjeli nedavno korištene aplikacije. Zatim prijeđite prstom prema gore po aplikaciji koju želite zatvoriti. '

Zašto zatvorimo naše aplikacije?

U mom članku o kako uštedjeti bateriju iPhone uređaja , Uvijek sam govorio ovo:

„Jednom na dan ili dva, dobra je ideja zatvoriti svoje aplikacije. U savršenom svijetu to nikada ne biste morali učiniti, a većina Appleovih zaposlenika nikada neće reći da biste trebali… Puno problema s ispražnjenjem baterije javlja se kada aplikacija pretpostavljao zatvoriti, ali ne. Umjesto toga, aplikacija se ruši u pozadini i vaša iPhone baterija će se isprazniti, a da vi to ni ne znate. '

Ukratko, glavni razlog zbog kojeg preporučujem zatvaranje vaših aplikacija je spriječite pražnjenje baterije kada aplikacija ne uđe u stanje u pozadini ili suspendovano stanje onako kako treba. U mom članku o zašto se iPhoni zagrijavaju , CPU vašeg iPhone-a (centralna procesorska jedinica mozak operacije) uspoređujem s motorom automobila:

Ako pritisnete pedalu na metal duže vrijeme, motor automobila se pregrije i troši puno goriva. Ako se iPhoneov procesor okreće do 100% dulje vrijeme, iPhone se pregrije i baterija se brzo isprazni.

Sve aplikacije koriste CPU na vašem iPhoneu. Obično aplikacija koristi veliku količinu procesorske snage sekundu ili dvije kada se otvori, a zatim se vraća u režim manje snage dok koristite aplikaciju. Kada se aplikacija sruši, iPhoneov CPU često zaglavi na 100%. Kada zatvorite svoje aplikacije, vodite računa da se to ne dogodi jer se aplikacija vraća na ne radi stanje .

Da li je š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 spreme vaše podatke. Apple dokumentacija za programere naglašava važnost aplikacija koje su spremne za završetak na kapaljku:

„Aplikacije moraju biti pripremljene za prekid u bilo kojem trenutku i ne smiju čekati spremanje korisničkih podataka ili izvršavanje drugih kritičnih zadataka. Prekid koji je pokrenuo sistem normalan je dio životnog ciklusa aplikacije. '

Kada ti zatvorite aplikaciju, i to je u redu:

„Pored toga što sistem završava vašu aplikaciju, korisnik može i eksplicitno ukinuti vašu aplikaciju pomoću višezadaćnog korisničkog sučelja. Ukidanje koje je pokrenuo korisnik ima isti učinak kao i ukidanje suspendirane aplikacije. '

Argument protiv zatvaranja iPhone i iPad aplikacija

Postoji argument protiv zatvaranja vaših aplikacija i on se zapravo temelji. Međutim, zasniva se na a vrlo uski pogled činjenica. Evo dugog i kratkog:

  • Potrebno je više snage za otvaranje aplikacije iz ne trči države nego što je to slučaj da bi ga nastavio iz pozadinu ili suspendovan država. To je apsolutno tačno.
  • Apple ulaže mnogo napora kako bi osigurao da operativni sistem iPhone efikasno upravlja memorijom, što minimizira količinu baterija koje aplikacije koriste kada ostanu u pozadina ili suspendovan država. To je takođe tačno.
  • Trošite bateriju ako zatvorite aplikacije, jer je za otvaranje iPhone aplikacija od početka potrebna veća snaga nego što operativni sistem koristi za njihovo ponovno pokretanje iz pozadine i suspendiranog stanja. Ponekad tačno.

Pogledajmo brojeve

Programeri često koriste CPU vrijeme za mjerenje koliko napora iPhone troši na izvršavanje zadataka, jer to može imati direktan utjecaj na vijek trajanja baterije. Koristio sam Appleov razvojni alat pod nazivom Instrumenti za mjerenje utjecaja nekoliko aplikacija na CPU mog iPhonea.

Koristimo Facebook aplikaciju kao primjer:

  • Otvaranje Facebook aplikacije iz neaktivnog stanja koristi oko 3,3 sekunde CPU vremena.
  • Zatvaranjem bilo koje aplikacije briše je iz memorije, vraća je u neaktivno stanje i gotovo ne koristi CPU vrijeme - recimo .1 sekunde.
  • Pritiskom na dugme Početna Facebook aplikacija se vraća u pozadinsko stanje i koristi oko .6 sekundi CPU vremena.
  • Vraćanje Facebook aplikacije iz pozadinskog stanja koristi oko .3 sekunde CPU vremena.

Stoga, ako aplikaciju Facebook otvorite iz neaktivnog stanja (3.3), zatvorite je (.1) i ponovo je otvorite iz neaktivnog stanja (3.3), ona koristi 6,7 sekundi CPU vremena. Ako aplikaciju Facebook otvorite iz neaktivnog stanja, pritisnite tipku za početak da biste je poslali u pozadinsko stanje (.6) i nastavili iz pozadinskog stanja (.3), koristi samo 4,1 sekunde procesorskog vremena.

Vau! U ovom slučaju, zatvaranje Facebook aplikacije i ponovno otvaranje ponovo koristi Još 2,6 sekundi CPU vremena. Ostavljanjem Facebook aplikacije otvorenom, potrošili ste oko 39% manje energije!

I pobjednik je…

Ne tako brzo! Moramo pogledati velika slika kako bi dobili precizniju procjenu situacije.

Stavljanje upotrebe energije u perspektivu

39% zvuči puno, i TO JE - dok ne shvatiš koliko je beskrajno mala količina energije o kojoj govorimo u poređenju sa snagom potrebnom za korištenje vašeg iPhonea. Argument protiv zatvaranja aplikacija zvuči sjajno dok ne shvatite zasnovan je na statistici koja nije bitna.

Kao što smo razgovarali, uštedjet ćete 2,6 sekunde CPU vremena ako ostavite Facebook aplikaciju otvorenom umjesto da je zatvorite. Ali koliko energije troši aplikacija Facebook kada je koristite?

Pomicao sam se kroz feed vijesti 10 sekundi i koristio 10 sekundi CPU vremena ili 1 sekundu CPU vremena u 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 kako bih utjecao na životni vijek baterije kao 5 minuta koristeći Facebook aplikacija. Šta ovo znači ovo:

Ne odlučite hoćete li zatvoriti svoje aplikacije na osnovu beznačajne statistike. Zasnovajte svoju odluku na najboljem za vaš iPhone.

Ali to nije jedini razlog zašto je zatvaranje aplikacija dobra ideja. Idemo dalje…

Polako i stabilno izgaranje procesora u pozadinskom režimu

Kada aplikacija uđe u pozadinski način rada, nastavlja trošiti bateriju čak i kada iPhone spava u džepu. Moje testiranje Facebook aplikacije potvrđuje da se to dogodilo čak i kad je pozadinsko osvježavanje aplikacije isključeno.

Nakon što sam zatvorio Facebook aplikaciju, nastavila je koristiti CPU čak i kada je iPhone bio isključen. Tijekom jednog minuta iskoristilo je 0,9 sekundi dodatnog CPU vremena. Nakon tri minute, upotreba Facebook aplikacije ostaće otvorena više snagu nego što bi je imala da smo je odmah zatvorili.

Moral priče je sljedeći: Ako koristite aplikaciju svakih nekoliko minuta, nemojte je zatvarati svaki put kada je koristite. Ako ga koristite rjeđe, bilo bi dobro zatvoriti aplikaciju.

Da budemo pošteni, mnoge aplikacije prelaze direktno iz pozadinskog načina u suspendirani način rada, a u suspendiranom načinu aplikacije uopće ne troše energiju. Međutim, ne možemo znati koje su aplikacije u načinu rada u pozadini, pa je dobro pravilo zatvorite ih sve . Zapamtite, kolika je snaga potrebna otvoren aplikacija od nule blijedi u odnosu na količinu energije koja joj je potrebna koristiti aplikacija.

Problemi sa softverom događaju se cijelo vrijeme

iPhone aplikacije se ruše češće nego što možda mislite. Većina padovi softvera su manji i ne uzrokuju uočljive nuspojave. Vjerovatno ste to već primijetili:

Koristite aplikaciju i odjednom zaslon trepće i vraćate se na početni zaslon. To se događa kada se aplikacije sruše.

Također možete pregledati evidencije rušenja Postavke -> Privatnost -> Dijagnostika i upotreba -> Podaci o dijagnostici i upotrebi.

Većina rušenja softvera ne treba brinuti, posebno ako zatvorite svoje aplikacije. Često ponekad aplikaciju koja ima softverski problem jednostavno treba pokrenuti ispočetka.

Primjer uobičajenog softverskog problema

Vrijeme je ručka i primijetite da se vaša iPhone baterija ispraznila na 60%. Tijekom doručka provjerili ste svoju e-poštu, slušali muziku, uzdisali preko stanja na bankovnom računu, gledali TED razgovor, prelistali Facebook, poslali Tweet i provjerili rezultat sa sinoćnje košarkaške utakmice.

Ispravljanje aplikacije koja ruši

Sjećate se da aplikacija koja pada može uzrokovati da se baterija brzo isprazni i da je zatvaranje aplikacije može popraviti, ali ne znate koji aplikacija uzrokuje problem. U ovom slučaju (i ovo je stvarno), TED aplikacija gori kroz CPU iako ne koristim svoj iPhone. Problem možete riješiti na jedan od dva načina:

  1. Povežite svoj računar sa Macom, preuzmite i instalirajte Xcode i Instrumenti , omogućite svoj iPhone za razvoj, postavite prilagođeni test za inspekciju pojedinačnih procesa koji se izvode na vašem iPhoneu, sortirajte ih prema upotrebi CPU-a i zatvorite aplikaciju zbog koje vaš CPU ostaje okretan i do 100%.
  2. Zatvorite svoje aplikacije.

Biram opciju 2 100% vremena i ja sam štreber. (Prikupio sam podatke za ovaj članak koristeći opciju 1.) Ponovno otvaranje aplikacija iz neaktivnog stanja troši više energije nego za njihovo otvaranje iz pozadine ili suspendiranog stanja, ali razlika je zanemariva u odnosu na značajan odliv energije koji se dogodi kada aplikacija padova.

Zašto vjerujem da je zatvaranje vaših aplikacija dobra ideja

  1. Čak i ako zatvorite svoje aplikacije svaki put kada ih koristite, nećete vidjeti razliku u trajanju baterije jer je količina energije koja je potrebna za otvaranje aplikacije beznačajna u odnosu na količinu energije koja je potrebna za upotrebu aplikacije.
  2. Aplikacije koje ostaju aktivne u pozadinskom načinu rada nastavljaju koristiti napajanje kada ne koristite iPhone, a to se zbraja tijekom dana.
  3. Zatvaranje aplikacija dobar je način za sprečavanje ozbiljnih softverskih problema koji mogu prouzročiti pražnjenje baterije iPhonea vrlo brzo .

Zatvorite ovaj članak

Ovaj je članak dublji od članaka koje obično pišem, ali nadam se da je bio zanimljiv i da ste naučili nešto novo o načinu rada aplikacija na vašem iPhoneu. Zatvaram svoje aplikacije nekoliko puta dnevno i to mi pomaže da iPhone radi što glatko. Na osnovu testova i mog iskustva iz prve ruke u radu sa stotinama iPhonea kao Apple tehnologije, mogu sa sigurnošću reći da je zatvaranje vaših aplikacija zaista dobar način za uštedu baterije iPhonea.

Hvala na čitanju i ne zaboravite to platiti unaprijed,
David P.