Is die sluit van iPhone-programme 'n slegte idee? Nee, en hier is die rede waarom.

Is Closing Iphone Apps Bad Idea







Probeer Ons Instrument Om Probleme Uit Te Skakel

U dubbelklik op die Start-knoppie en vee u programme bo-aan die skerm: goeie idee of slegte idee? Die afgelope tyd was daar verwarring oor die vraag of die sluiting van u iPhone- en iPad-programme nuttig of skadelik is, veral met betrekking tot die batterylewe. Ek het nog altyd gesê dit is 'n goeie idee: Sluit u programme uit is wenk # 4 van my artikel oor hoe om die batterylewe van die iPhone te bespaar.





In hierdie artikel sal ek verduidelik waarom die sluiting van u programme kan nuttig wees vir u iPhone-batterylewe , verskaf uittreksels uit Apple Developer-dokumentasie om dit te ondersteun, en sluit dit in voorbeelde uit werklike toetse Ek het wel Apple Developer Tools en my iPhone gebruik.



As ek skryf, wil ek hê dat die inligting wat ek verskaf, nuttig en maklik moet wees almal te verstaan. Ek word gewoonlik nie te tegnies nie, want my ervaring in 'n Apple Store het my gewys mense se oë begin glans as ek begin praat prosesse , SVE-tyd , en die app se lewensiklus .

Sluit iPhone-app afIn hierdie artikel gaan ons 'n bietjie dieper in hoe programme werk sodat u 'n ingeligte besluit kan neem of u iPhone- of iPad-programme sluit. Eerstens sal ons oor die App lewensiklus , wat beskryf wat gebeur vanaf die oomblik dat u 'n app oopmaak totdat dit gesluit word en uit die geheue verwyder word.

Die app lewensiklus

Daar is vyf app state wat die app se lewensiklus uitmaak. Elke app op u iPhone is tans in een van hierdie state, en die meeste is in die hardloop nie staat. Apple ontwikkelaar dokumentasie verduidelik elkeen:





is daar 'n eenhoorn in die bybel

Belangrikste wegneemetes

  • As u op die Start-knoppie druk om 'n app te verlaat, gaan dit in die Agtergrond of Geskors staat.
  • As u dubbelklik op die Start-knoppie en 'n app bo-aan die skerm, die app, vee sluit en gaan in die Nie hardloop nie staat.
  • Toep state word ook na verwys as modusse.
  • Programme in Agtergrondmodus loop nog en laai u battery af, maar programme in Opgeskorte modus Moenie.

Om programme uit te vee: sluit of dwingestop?

Om verwarring oor terminologie op te ruim, as u dubbelklik op die Start-knoppie op u iPhone en 'n app van die bokant van die skerm afvee, is u sluiting die app. Force-stop 'n app is 'n ander proses waaroor ek beplan om in 'n volgende artikel te skryf.

Apple se ondersteuningsartikel oor iOS multitasking bevestig dit:

'Om 'n app te sluit, dubbelklik op die Start-knoppie om programme wat onlangs gebruik is, te sien. Swiep dan op na die app wat u wil sluit. ”

Waarom sluit ons programme af?

In my artikel oor hoe om die batterylewe van die iPhone te bespaar , Ek het dit nog altyd gesê:

'Dit is een keer elke dag of twee 'n goeie idee om u programme te sluit. In 'n perfekte wêreld sal u dit nooit hoef te doen nie, en die meeste Apple-werknemers sal nooit sê dat u moet doen nie ... Baie probleme met die battery raak leeg wanneer 'n app veronderstel om te sluit, maar nie. In plaas daarvan val die app op die agtergrond en jou iPhone-battery raak leeg sonder dat jy dit weet. ”

Kortom, die hoof Ek beveel aan dat u programme sluit voorkom dat u battery leeg raak as 'n app nie die agtergrondstaat of opgeskorte staat soos dit moet. In my artikel oor waarom iPhones warm word , Ek vergelyk u iPhone se SVE (sentrale verwerkingseenheid die brein van die operasie) met 'n motorenjin:

As u die pedaal vir 'n lang tyd aan die metaal sit, word die motor se motor oorverhit en gebruik dit baie gas. As 'n iPhone se SVE gedurende 'n lang periode tot 100% aangepas word, word die iPhone oorverhit en u battery raak vinnig leeg.

Alle programme gebruik die SVE op u iPhone. Normaalweg gebruik 'n app 'n groot hoeveelheid CPU-krag vir 'n sekonde of twee wanneer dit oopgaan, en smoor dan terug na 'n laer kragmodus terwyl u die app gebruik. As 'n app ineenstort, sit die SVE van die iPhone dikwels op 100% vas. Wanneer u u programme sluit, sorg u dat dit nie gebeur nie, want die app keer terug na die loop nie staat nie .

Is dit skadelik om 'n app te sluit?

Absoluut nie. Anders as baie programme op u Mac of rekenaar, wag iPhone-programme nie totdat u op 'Stoor' klik voordat dit u data stoor nie. Apple s’n ontwikkelaar dokumentasie beklemtoon die belangrikheid daarvan dat programme op die punt van die hoed gereed is om te beëindig:

'Apps moet op enige tydstip voorberei word vir beëindiging en moet nie wag om gebruikersdata te stoor of ander kritieke take uit te voer nie. Beëindiging van die stelsel is 'n normale deel van 'n app se lewensiklus. '

Wanneer jy maak 'n app toe, dit is ook OK:

'Benewens die stelsel wat u app beëindig, kan die gebruiker u app eksplisiet beëindig met die multitasking-UI. Beëindiging deur die gebruiker het dieselfde effek as die beëindiging van 'n opgeskorte program. '

Die argument teen die sluiting van iPhone- en iPad-programme

Daar is 'n argument daarteen om u programme te sluit, en dit is eintlik gebaseer. Dit is egter gebaseer op 'n baie nou uitsig van die feite. Hier is die lang en kort daarvan:

  • Dit verg meer krag om 'n app vanaf die hardloop nie staat as om dit weer van die agtergrond of geskors staat. Dit is absoluut waar.
  • Apple doen baie moeite om te verseker dat die iPhone-bestuurstelsel die geheue doeltreffend bestuur, wat die hoeveelheid batterytoepassings wat gebruik word as hulle in die agtergrond of geskors staat. Dit is ook waar.
  • U vermy die batterylewe as u u programme sluit, want dit verg meer krag om iPhone-programme van nuuts af oop te maak as wat die bedryfstelsel gebruik om dit van die agtergrond af te hervat. Soms waar.

Kom ons kyk na die getalle

Ontwikkelaars gebruik dikwels SVE-tyd om te meet hoeveel moeite 'n iPhone bestee om take te verrig, omdat dit 'n direkte invloed op die batterylewe kan hê. Ek het 'n Apple-ontwikkelaarhulpmiddel genaamd Instrumente om die impak van verskeie programme op my iPhone se SVE te meet.

Kom ons gebruik die Facebook-app as voorbeeld:

  • Die opening van die Facebook-app vanuit die nie-lopende staat gebruik ongeveer 3,3 sekondes CPU-tyd.
  • As u enige app uit die geheue sluit, word dit teruggesit na die toestand wat nie werk nie en gebruik feitlik geen SVE-tyd nie - laat ons sê .1 sekondes.
  • Deur op die Tuis-knoppie te druk, stuur die Facebook-app na die agtergrondtoestand en gebruik ongeveer .6 sekondes SVE-tyd.
  • Die hervatting van die Facebook-app vanaf die agtergrondtoestand gebruik ongeveer .3 sekondes CPU-tyd.

Daarom, as u die Facebook-app oopmaak uit die toestand wat nie loop nie (3.3), dit (.1) sluit en weer oopmaak vanaf die toestand wat nie loop nie (3.3), gebruik dit 6,7 sekondes CPU-tyd. As u die Facebook-app oopmaak vanuit die nie-lopende toestand, druk die tuisknoppie om dit na die agtergrondtoestand (.6) te stuur en hervat dit vanaf die agtergrondtoestand (.3), dit gebruik slegs 4,1 sekondes CPU-tyd.

Sjoe! In hierdie geval word die gebruik van die Facebook-app gesluit en weer heropen Nog 2,6 sekondes van SVE-tyd. Deur die Facebook-app oop te laat, het u ongeveer 39% minder krag gebruik!

En die wenner is…

Nie so vinnig nie! Ons moet kyk die groot prentjie om 'n meer akkurate beoordeling van die situasie te kry.

Om kragverbruik in perspektief te plaas

39% klink na baie, en dit is - totdat jy besef hoe oneindig klein die hoeveelheid krag waaroor ons praat, is in vergelyking met die krag wat dit verg om u iPhone te gebruik. Die argument teen die sluiting van u programme klink wonderlik totdat u dit besef dit is gegrond op 'n statistiek wat nie saak maak nie.

Soos ons bespreek het, bespaar u 2,6 sekondes CPU-tyd as u die Facebook-app oop laat in plaas daarvan om dit te sluit. Maar hoeveel krag verbruik die Facebook-app as u dit gebruik?

Ek het 10 sekondes deur my nuusfeed geblaai en 10 sekondes CPU-tyd gebruik, of 1 sekonde CPU-tyd per sekonde wat ek die app gebruik het. Na 5 minute se gebruik van die Facebook-app sou ek 300 sekondes CPU-tyd gebruik het.

Met ander woorde, ek sal die Facebook-app 115 keer moet oopmaak en toemaak om die batterylewe soveel as 5 minute se impak te maak. gebruik die Facebook-app. Wat dit beteken, is dit:

Moenie besluit of u programme op 'n onbeduidende statistiek wil sluit nie. Baseer u besluit op wat die beste vir u iPhone is.

Maar dit is nie die enigste rede waarom dit 'n goeie idee is om u programme te sluit nie. Aanbeweeg…

Stadige en bestendige SVE in die agtergrondmodus

As 'n app in die agtergrondmodus gaan, gebruik dit steeds batterykrag, selfs as u iPhone in u sak slaap. My toetsing van die Facebook-app bevestig dat dit gebeur selfs wanneer die agtergrond-app-verversing afgeskakel is.

Nadat ek die Facebook-app gesluit het, het dit voortgegaan met die gebruik van die CPU, selfs as die iPhone af was. In die loop van een minuut het dit 0,9 sekondes ekstra CPU-tyd gebruik. Die gebruik van die Facebook-app sal na drie minute gebruik word meer krag as wat dit sou wees as ons dit dadelik toemaak.

Die moraal van die verhaal is: As u 'n app elke paar minute gebruik, moet u dit nie elke keer toemaak as u dit gebruik nie. As u dit minder gereeld gebruik, is dit 'n goeie idee om die app te sluit.

Om eerlik te wees, baie programme gaan direk van die agtergrond af na die opgeskorte modus, en in die opgeskorte modus gebruik programme glad nie krag nie. Daar is egter geen manier om te weet watter programme in die agtergrondmodus is nie, dus 'n goeie reël is om dit te doen maak hulle almal toe . Onthou, hoeveel krag dit benodig oopmaak 'n app van vooraf verbleek in vergelyking met die hoeveelheid krag wat dit benodig gebruik die app.

Sagtewareprobleme vind die hele tyd plaas

iPhone-programme val vaker neer as wat u dalk besef. Die meeste sagteware-ineenstortings is gering en veroorsaak geen waarneembare newe-effekte nie. U het dit waarskynlik al opgemerk:

U gebruik 'n app en skielik knip die skerm en beland u weer op die tuisskerm. Dit is wat gebeur as programme ineenstort.

U kan ook die aanmeldlêers sien Instellings -> Privaatheid -> Diagnostiek en gebruik -> Diagnose- en gebruiksdata.

Die meeste sagteware-ineenstortings is niks om oor bekommerd te wees nie, veral as u u programme sluit. Dikwels moet 'n app wat 'n sagtewareprobleem het, net van vooraf geloods word.

'N Voorbeeld van 'n algemene sagtewareprobleem

Dit is etenstyd en u sien dat u iPhone-battery tot 60% leeg is. Tydens die ontbyt het u u e-pos nagegaan, na musiek geluister, die bankrekening se balans gesug, 'n TED-toespraak gekyk, deur Facebook geblaai, 'n Tweet gestuur en die telling van gister se basketbalwedstryd nagegaan.

Die herstel van 'n ineenstortingsprogram

U onthou dat 'n ineenstortende app kan veroorsaak dat u battery vinnig leegloop en dat die afsluiting van die app dit kan herstel, maar u weet nie watter app veroorsaak die probleem. In hierdie geval (en dit is eg), brand die TED-app deur die SVE al gebruik ek nie my iPhone nie. U kan die probleem op twee maniere oplos:

  1. Verbind u rekenaar met 'n Mac, laai dit af en installeer dit X-kode en Instrumente , stel u iPhone in staat vir ontwikkeling, stel 'n pasgemaakte toets op om die individuele prosesse wat op u iPhone uitgevoer word, te inspekteer, sorteer dit volgens die gebruik van die SVE, en maak die app toe wat u SVE tot 100% laat bly.
  2. Sluit u programme af.

Ek kies opsie 2 100% van die tyd, en ek is 'n geek. (Ek het die inligting vir hierdie artikel met behulp van opsie 1 versamel.) Die heropening van u programme vanuit die nie-lopende toestand gebruik meer krag as om dit vanaf die agtergrond of opgeskort te open, maar die verskil is weglaatbaar in vergelyking met die beduidende kragafvoer wat gebeur wanneer 'n app ineenstort.

Waarom ek glo dat u programme gesluit is, is 'n goeie idee

  1. Al sluit u u programme elke keer as u dit gebruik, sal u nie 'n verskil in die batterylewe sien nie, want die hoeveelheid krag wat nodig is om 'n app oop te maak, is onbeduidend in vergelyking met die hoeveelheid krag wat dit benodig om die app te gebruik.
  2. Programme wat in die agtergrondmodus bly werk, gebruik steeds krag wanneer u nie u iPhone gebruik nie, en dit word in die loop van 'n dag bygevoeg.
  3. Om u programme te sluit, is 'n goeie manier om ernstige sagtewareprobleme te voorkom wat u iPhone-battery kan laat leegloop baie vinnig .

Sluit hierdie artikel af

Hierdie artikel is meer diepgaande as die artikels wat ek gewoonlik skryf, maar ek hoop dat dit interessant was en dat u iets nuuts geleer het oor hoe programme op u iPhone werk. Ek sluit my programme 'n paar keer per dag af, en dit help my om my iPhone so glad as moontlik te laat werk. Op grond van die toetse en my eerstehandse ervaring om met honderde iPhones as 'n Apple-tegnologie te werk, kan ek met vertroue sê dat die sluiting van u programme inderdaad 'n goeie manier is om die batterylewe van die iPhone te bespaar.

Dankie vir die lees, en onthou om dit vooruit te betaal,
David P.