Der er stadig mange mennesker, der ikke ved, hvordan multitasking fungerer i iOS. Til at begynde med er det dog nødvendigt at pointere, at der ikke er tale om rigtig multitasking, men en meget smart løsning, der hverken belaster systemet eller brugeren.
Man kan ofte høre overtro om, at apps, der kører i baggrunden i iOS, fylder op i driftshukommelsen, hvilket fører til systemnedgang og reduceret batterilevetid, så brugeren bør slukke dem manuelt. Multitasking-bjælken indeholder faktisk ikke en liste over alle kørende baggrundsprocesser, men kun de senest lancerede applikationer. Så brugeren behøver ikke at bekymre sig om processer, der kører i baggrunden undtagen i nogle få tilfælde. Når du trykker på Hjem-knappen, går applikationen som regel i dvale eller lukker, så den ikke længere indlæser processoren eller batteriet og om nødvendigt frigør den nødvendige hukommelse.
Så dette er ikke fuldgyldig multitasking, når du har snesevis af processer kørende. Kun én applikation kører altid i forgrunden, som er sat på pause eller slukket helt, hvis det er nødvendigt. Kun få sekundære processer kører i baggrunden. Derfor vil du sjældent støde på et programnedbrud på iOS, for eksempel er Android overvældet med kørende programmer, som brugeren skal tage sig af. Det gør på den ene side arbejdet med enheden ubehageligt, og på den anden side forårsager det for eksempel langsom opstart og overgange mellem applikationer.
Applikationskørselstype
Applikationen på din iOS-enhed er i en af disse 5 tilstande:
- Kører: applikationen startes og kører i forgrunden
- Baggrund: det kører stadig, men kører i baggrunden (vi kan bruge andre applikationer)
- Suspenderet: Bruger stadig RAM, men kører ikke
- Inaktiv: applikationen kører, men indirekte kommandoer (f.eks. når du låser enheden med applikationen kørende)
- Kører ikke: Ansøgningen er afsluttet eller er ikke startet
Forvirringen kommer, når appen går i baggrunden for ikke at forstyrre. Når du trykker på Hjem-knappen eller bruger bevægelsen til at lukke applikationen (iPad), går applikationen i baggrunden. De fleste apps suspenderes i løbet af sekunder (De er gemt i iDevicens RAM, så de kan startes hurtigt, de belaster ikke processoren så meget og sparer dermed batterilevetid) Du tror måske, at hvis en app fortsætter med at bruge hukommelse, har du for at slette det manuelt for at frigøre det. Men du behøver ikke at gøre det, for iOS vil gøre det for dig. Hvis du har en krævende applikation suspenderet i baggrunden, såsom et spil, der bruger en stor mængde RAM, vil iOS automatisk fjerne det fra hukommelsen, når det er nødvendigt, og du kan genstarte det ved at trykke på applikationsikonet.
Ingen af disse tilstande afspejles i multitasking-linjen, panelet viser kun en liste over nyligt lancerede apps, uanset om appen er stoppet, sat på pause eller kører i baggrunden. Du kan også bemærke, at det program, der kører i øjeblikket, ikke vises i Multitasking-panelet
Baggrundsopgaver
Normalt, når du trykker på Hjem-knappen, kører applikationen i baggrunden, og hvis du ikke bruger den, stopper den automatisk inden for fem sekunder. Så hvis du for eksempel downloader en podcast, vurderer systemet den som en kørende applikation og forsinker afslutningen med ti minutter. Senest efter ti minutter frigives processen fra hukommelsen. Kort sagt, du behøver ikke bekymre dig om at afbryde din download ved at trykke på Hjem-knappen, hvis det ikke tager mere end 10 minutter at gennemføre det.
Ubegrænset kører i baggrunden
I tilfælde af inaktivitet afslutter systemet applikationen inden for fem sekunder, og i tilfælde af downloads forsinkes afslutningen i ti minutter. Der er dog et lille antal programmer, der kræver at køre i baggrunden. Her er nogle eksempler på apps, der kan køre i baggrunden på ubestemt tid i iOS 5:
- Programmer, der afspiller lyd og skal afbrydes i et stykke tid (pause musik under et telefonopkald osv.),
- Programmer, der sporer din placering (navigationssoftware),
- Applikationer, der modtager VoIP-opkald, for eksempel hvis du bruger Skype, kan du modtage et opkald, selv når applikationen er i baggrunden,
- Automatiske downloads (f.eks. Bladkiosk).
Alle applikationer skal lukkes, hvis de ikke længere udfører en opgave (såsom baggrundsdownloads). Der er dog undtagelser, der kører i baggrunden kontinuerligt, såsom den oprindelige Mail-app. Hvis de kører i baggrunden, optager de hukommelse, CPU-brug eller reducerer batterilevetiden
Apps, der får lov til at køre i baggrunden på ubestemt tid, kan gøre alt, hvad de gør, mens de kører, lige fra at spille musik til at downloade nye Podcast-afsnit.
Som jeg nævnte før, behøver brugeren aldrig at lukke de apps, der kører i baggrunden. Den eneste undtagelse fra dette er, når en app, der kører i baggrunden, går ned eller ikke vågner ordentligt fra dvale. Brugeren kan derefter lukke applikationerne manuelt i multitasking-bjælken, men det sker sjældent.
Så generelt behøver du ikke at administrere baggrundsprocesser, fordi systemet selv tager sig af dem. Derfor er iOS et så friskt og hurtigt system.
Fra en udviklers perspektiv
Applikationen kan reagere med i alt seks forskellige tilstande som en del af multitasking:
1. applicationWillResignActive
I oversættelse betyder denne tilstand, at applikationen vil fratræde som den aktive applikation (det vil sige applikationen i forgrunden) i fremtiden (et spørgsmål om et par millisekunder). Dette sker for eksempel, når du modtager et opkald, mens du bruger applikationen, men samtidig forårsager denne metode også denne tilstand, før applikationen går i baggrunden, så du skal tage højde for disse ændringer. Denne metode er også velegnet, så den f.eks. suspenderer alle de aktiviteter, den udfører, når der er et indgående opkald, og venter til slutningen af opkaldet.
2. applicationDidEnterBackground
Status angiver, at applikationen er gået i baggrunden. Udviklere bør bruge denne metode til at suspendere alle processer, der ikke nødvendigvis behøver at køre i baggrunden og rydde hukommelsen for ubrugte data og andre processer, såsom udløbende timere, rydde indlæste billeder fra hukommelsen, der ikke nødvendigvis er nødvendige, eller lukning forbindelser med servere, medmindre det er afgørende for applikationen at fuldføre forbindelser i baggrunden. Når metoden påberåbes i en applikation, skal den i det væsentlige bruges til at suspendere applikationen fuldstændigt, hvis en del af den ikke skal køre i baggrunden.
3. applicationWillEnterForeground
Denne tilstand er det modsatte af den første tilstand, hvor ansøgningen vil gå tilbage til den aktive tilstand. Tilstanden betyder blot, at den sovende app vil genoptages fra baggrunden og vises i forgrunden inden for de næste par millisekunder. udviklere bør bruge denne metode til at genoptage alle processer, der var inaktive, mens applikationen var i baggrunden. Forbindelser til servere skal genetableres, timere nulstilles, billeder og data indlæses i hukommelsen, og andre nødvendige processer kan genoptages, lige før brugeren ser den indlæste applikation igen.
4. applicationDidBecomeActive
Tilstanden angiver, at applikationen lige er blevet aktiv efter at være blevet gendannet i forgrunden. Dette er en metode, der kan bruges til at foretage yderligere justeringer af brugergrænsefladen eller til at gendanne brugergrænsefladen til dens oprindelige tilstand osv. Dette sker faktisk i det øjeblik, hvor brugeren allerede ser applikationen på skærmen, så det er nødvendigt at bestemme med forsigtighed, hvad der sker i metoden til denne og i den foregående metode. De kaldes efter hinanden med en forskel på et par millisekunder.
5. applicationWillTerminate
Denne tilstand sker et par millisekunder før applikationen afsluttes, det vil sige før applikationen faktisk afsluttes. Enten manuelt fra multitasking eller når du slukker for enheden. Metoden skal bruges til at gemme behandlede data, til at afslutte alle aktiviteter og til at slette data, der ikke længere er nødvendige.
6. applicationDidReceiveMemoryWarning
Det er den sidste stat, der er den mest diskuterede. Den er ansvarlig for om nødvendigt at fjerne applikationen fra iOS-hukommelsen, hvis den bruger systemressourcer unødigt. Jeg ved ikke specifikt, hvad iOS gør med baggrundsapps, men hvis den har brug for en app til at frigive ressourcer til andre processer, beder den den med en hukommelsesadvarsel om at frigive de ressourcer, den har. Så denne metode kaldes i applikationen. Udviklere bør implementere det, så applikationen giver afkald på den hukommelse, den har tildelt, gemmer alt i gang, rydder unødvendige data fra hukommelsen og ellers frigør hukommelse tilstrækkeligt. Det er rigtigt, at mange udviklere, selv nybegyndere, ikke tænker over eller forstår sådanne ting, og så kan det ske, at deres applikation truer batterilevetiden og/eller unødigt bruger systemressourcer, selv i baggrunden.
Dom
Disse seks tilstande og deres tilknyttede metoder er baggrunden for al "multitasking" i iOS. det er et fantastisk system, så længe udviklere ikke ignorerer, at der er behov for at tage ansvar for, hvad applikationen kaster op på deres brugeres enheder, hvis de bliver minimeret eller får advarsler fra systemet og så videre.
kilde: Macworld.com
Forfattere: Jakub Požárek, Martin Doubek (ArnieX)
Har du også et problem at løse? Har du brug for rådgivning eller måske finde den rigtige applikation? Tøv ikke med at kontakte os via formularen i sektionen Rådgivning, næste gang svarer vi på dit spørgsmål.
Hej, rigtig fed artikel, men mon ikke du har nogen teknisk support til det. For jeg har løst batteriet flere gange om aftenen inden jeg går i seng og det skete, at der med wifi og mobildata slået fra, tog mere end i et andet tilfælde med slukket wifi og kun 3G.
Desværre er oplevelsen, at i iOS skal applikationer slukkes manuelt, og systemet kører ikke længere så godt som før.
Jeg skiftede min iPhone ud med en Windows Phone (Samsung Omnia W til 6200,-) og hastigheden på systemet er på et helt andet niveau.
Jeg er bange for, at når Windows 8 Metro-tablets kommer ud, vil jeg også udskifte iPad'en...
@007 – ja, hvis du sammenligner de gamle iPhone3Gs med de nye WP, så ja (hvem havde forventet det?) vil WP være en del hurtigere. Ellers går sladderen om Karlulka dig ikke i god jord og det var på sin plads at sammenligne den nuværende HW. Jeg købte også WP7 og endte til sidst med 4s, som repræsenterer et helt andet niveau af brugervenlighed end WP7. Så gå behageligt og uendeligt scroll gennem fliserne.
Jeg er fuldstændig enig med Paja
Jeg ville bidrage igen fra resterne af en anden tønde - Samsung Galaxy S og iPhone 4 - jeg vil sige sammenlignelig med hensyn til alder? På tidspunktet for iOS 4, og hvad angår brugervenlighed og hastighed et andet sted end Android, har Apple løst konceptet med at arbejde med applikationer rigtig godt, men det samme gælder ikke længere med Android. Til sidst endte jeg alligevel med 4S, og jeg har ingen klager, for "det virker bare" .. og det virker meget hurtigt!
Teorien er smuk... Men i praksis lukker jeg stadig ansøgningen i baren ;)
Tak, meget interessant, pragmatisk, interessant, det mangler ikke sving og dybde. Understreger markant nutidens unges besættelse af dette forbudte mærke! Men tak for hende, såvel som for denne artikel.
Artiklen er fuldstændig forkert.
Applikationen afsluttes ikke, når der trykkes på Hjem-knappen, som fejlagtigt angivet, men holder pause. dvs. slet ikke fra hukommelsen og lad være med at afslutte. Sæt bare kørslen på pause, iOS vil give denne app 0% CPU-tid. Den "bytter" bestemt ikke nogen steder i iDevice-hukommelsen, som der står i artiklen. Det er virkelig takket være, at det er muligt at bruge app-skifte.
Applikationen fjernes fra hukommelsen, når telefonen har lidt hukommelse til at køre andre applikationer med en højere prioritet (typisk kører en anden applikation i forgrunden).
I det første tilfælde har du ret, det var en oversættelsesfejl. Hvad angår bytte, taler vi ikke om det her, vi taler om driftshukommelsen, ikke lagerpladsen i iOS-enheden.
billedet af applikationen gemmes i hukommelsen i en begrænset periode, indtil det påkaldes igen af en kommando (se 13,7 GB ud af 16 GB: de 2,3 GB er reserveret til systemet og suspenderede applikationer)
Det er således nødvendigt at skelne mellem applikationer som Navigation, Skype og lignende, disse applikationer forbliver aktive selv i baggrunden, eller en bestemt funktion slutter ikke og fortsætter for eksempel med at sende data om dens placering eller placeringsinformation. Eller som Vokul i pord-tilstand, lyt og multitasking lytter stadig i baggrunden.
Disse applikationer dræner batteriet, og det er nødvendigt at lukke dem manuelt og ikke vente på iOS. med andre er det ikke nødvendigt, der kun i tilfælde af at applikationen går ned.
Jeg kan ikke tilslutte mig artiklen. Min. på en 1. generations iPad (iOS 5.0.1) er det tydeligt at se, om jeg har mange "åbne" apps i multitasking-baren eller blot nogle få. iOS forsøger at rense hukommelsen, men det er åbenbart ikke nok - den lille størrelse af RAM'en er nok dens største svaghed.
så meget afhænger af systemet og den anvendte hardware, det er ret logisk at det vil være værre på en iPad 1 med iOS 5.0.1 end hvis det var på en 2. generations iPad
Beklager makker, dette er en beskrivelse af den IDEALE måde, det skal fungere på. Desværre er virkeligheden en helt anden, og du ville vide det, hvis du brugte Apple-produkter, mindst lige så meget som jeg gør (dvs. indimellem).
"Du kan ofte høre overtro om, at apps, der kører i baggrunden i iOS, fylder driftshukommelsen,"
Det er ikke en overtro, det er bare et faktum. Det påstår du jo selv i artiklen.
"Som jeg nævnte tidligere, behøver brugeren aldrig at lukke de programmer, der kører i baggrunden."
NONSENS. Det er bare lort, æblepropaganda, bliv ikke sur på mig.
“Men du behøver ikke at gøre det, for iOS vil gøre det for dig. Hvis du har en krævende applikation suspenderet i baggrunden, såsom et spil, der bruger en stor mængde RAM, vil iOS automatisk fjerne det fra hukommelsen, når det er nødvendigt, og du kan genstarte det ved at trykke på applikationsikonet."
Ikke sandt. Situationen er lidt anderledes. Et typisk eksempel – jeg har krævende programmer kørende i baggrunden, jeg har brug for spil. Jeg starter browseren, åbner et par faner -> har brug for mere hukommelse. Hvad vil der ske? Jeg bliver ved med at kræve applikationer i baggrunden, tværtimod FALDER BROWSEREN SELV. Lukker jeg de krævende applikationer manuelt, fungerer browseren i lang tid uden problemer.
Dette er praksis, ikke teori. Og jeg er overrasket over, at du som langtidsbruger af et Apple-produkt stadig ikke ved dette.
Tak, dette er meget godt beskrevet og godt forklaret. Du har hjulpet mig en del ;-) ♥
Bare for en introduktion, jeg er hverken for eller imod iOS, ligesom med Android, men der er et par mærkelige ting her, hvis som det står her: "man støder sjældent på et programnedbrud med iOS", så med Android, applikationer går sandsynligvis ned en gang om året: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Ja, men de tilfælde, hvor du skal lukke applikationen manuelt, er virkelig minimale, jeg brugte det cirka én gang? ;-) og at give et link til den sammenlignende test fra Mobilemania er ret meningsløst, når jeg vil læse om den annoncering, som Google betalte, så kigger jeg der ;-) alle kan få en hvilken som helst android telefon i hænderne og den vil ikke køre rent, altså med undtagelse af Galaxy Nexus, hvor systemet er mere eller mindre skræddersyet. Generelt er Android en katastrofe
@Mek – Jeg har brugt Apple-produkter dagligt i flere år, og det er aldrig sket for mig, så din teori virker på en eller anden måde ikke.
OT:
@redakce – Man kan se, at der hele tiden arbejdes på hjemmesiden, eller der sker noget med den, men jeg har på fornemmelsen, at der ikke går en uge, før alt virker, som det skal. Og her kommer jeg ikke rigtig mere, for det nye look klæder mig ikke. Jeg brugte i hvert fald mobilversionen på iPhone, men nu virker den slet ikke – hvordan kommer det? De svarer i øjeblikket ikke på indlæg i kommentarerne.
@SteveJSF Desværre går tingene ikke altid, som vi ønsker det. Hvad angår svarene, brød det nye SEO-plugin dem, det er i øjeblikket ved at blive løst.
WP-Touch afsluttede også vores service af en eller anden grund, så vi besluttede at komme med en bedre løsning end dette plugin. Så du kan se frem til den næste nyhed snart :-)
Fin artikel. Hvad praksis angår, vil jeg gerne sige, at jeg er enig i flere ting og som oftest fungerer det som nævnt, men desværre er der stadig dårligt skrevne ansøgninger, som ikke opfører sig korrekt, og så er der sager som den ene bemærket af nogle læsere. Jeg synes at Skype er et meget godt eksempel, jeg ved fra praksis at det stadig kører i baggrunden (og det er fint og sådan skal det være), men problemet er at denne applikation dræner enhedens batteri meget og Jeg kan ikke se det ordentligt længere. Omvendt er applikationer som Facebook, Badoo mv. de kører også stadig i baggrunden, men deres forbrug er næsten umærkeligt (jeg mærker i hvert fald ingen). Så jeg tror fejlen ligger i de enkelte ansøgninger. Hvis du vidste hvilke, ville det være nok kun at slukke for dem manuelt!
Så praksis er, at Facebook kører efter behov og Skype kun, når det er nødvendigt.
Tja, på den anden side, hvis jeg skal spare på batteriet, og jeg ved, at jeg skal holde iPhonen "i live" så længe som muligt, så slår jeg også alt unødvendigt fra i multitasking, men for det meste har det ikke den store indflydelse, men om nødvendigt begrænser jeg 3G, alt mobilt internet, WiFi, lokationstjenester , flytilstand, lysstyrke osv. Som en del af rutinen slukker jeg også de førnævnte applikationer i multitasking.
Så personligt tror jeg at artiklen er rigtig, desværre afviser nogle programmører disse ting med deres applikationer, fordi deres applikationer er forkerte og efter min mening er der kun to løsninger til dette 1. Hvis det er muligt ikke at bruge applikationen og finde en alternativ hvis det er muligt, eller 2. Hvis det ikke er muligt, se fx Skype, skriv det til den givne programmør i rapporten og håber at de vil gøre noget ved det.
Det kan være meningsløst at deaktivere apps manuelt, men jeg gør det alligevel. Jeg forsøgte også ikke at slukke for applikationssystemet, lade dem køre (eller lade dem sove i baggrunden) og batterilevetiden var meget lavere, jeg var også nødt til at genstarte iPad 2 efter cirka tre uger, den reagerede langsomt. Så jeg slukker for apps manuelt, batteriet holder længere, jeg genstartede i øjeblikket sidste juledag, og det kører fint.
Forresten, jeg gør det samme i Mac OS X, jeg lukker bare det program, jeg ikke har brug for (CMD+Q), det er bedre end at få det til at sove i baggrunden og æde RAM unødigt (hvilket OS X kan' fungerer ikke meget godt). Jeg har lidt RAM, kun 8 GB, men i Windows 7 med 8 GB reagerede systemet ikke langsomt eller skiftede, i OS X er dette et ret almindeligt fænomen (jeg har aldrig slukket for computeren, jeg gør det også med Mac, så en måned og mere oppetid er ikke en undtagelse, problemet er at jeg nogle gange er nødt til at genstarte Mac'en som en sikkerhedsforanstaltning for at frigøre RAM og "speede op", Windows 7 har ikke brug for dette).
Jeg er mere interesseret i, hvordan man rent faktisk sprænger applikationen. Det, der skete med mig, var, at applikationen (specifikt på Geocaching) kom i en tilstand, hvor den indlæste noget fra den overordnede server og satte sig fast i den tilstand. Hjem-knappen virkede, efter genstart gik den tilbage til frossen tilstand (hvor jeg slap). Manuel exit (til multitasting-menuen, hold ikonet og minus nede for at lukke) = applikationen forsvandt, efter genstart åbnede den i sin oprindelige tilstand, hvor den frøs. Så jeg lukkede alt, slukkede telefonen, tændte den, dobbeltklikkede på HJEM og lo og se – applikationerne var der alle sammen, som de var, før de blev lukket lige før de slukkede. Genstarten hjalp heller ikke - hold hjemme og op til det bliver varmt. Det eneste, der hjalp, var at fjerne applikationen fra telefonen, genstarte den og geninstallere den på telefonen. På en eller anden måde tog jeg det ikke.
Denne multitasking-styring fungerer, og det er op til udviklerne at klare disse situationer. For de interesserede i en mere detaljeret og professionel beskrivelse af hele situationen, vil jeg her skrive, hvordan det er.
Ansøgningen kan svare på i alt 6 stater, og disse tilstande er:
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applikationBlevAktiv
ansøgningVilTerminate
applicationDidReceiveMemoryWarning
Nu vil jeg forsøge at beskrive disse tilstande mere detaljeret.
applicationWillResignActive – denne tilstand betyder, at applikationen i fremtiden (et spørgsmål om et par millisekunder) vil fratræde som den aktive applikation (dvs. forgrundsapplikationen), dette sker f.eks. når man modtager et opkald, mens applikationen bruges, men samtidig metode, derfor vil denne tilstand udløses, selv før applikationen går i baggrunden, så du skal tage højde for disse ændringer. Denne metode er også velegnet, så den f.eks. suspenderer alle de aktiviteter, den udfører, når der er et indgående opkald, og venter til slutningen af opkaldet.
applicationDidEnterBackground - denne status angiver, at applikationen er kommet ind i baggrunden, udviklere skal bruge denne metode til at suspendere alle processer, der ikke nødvendigvis behøver at køre i baggrunden og rense hukommelsen for ubrugte data og andre processer, for eksempel udløbstimere, rydde fra hukommelsesindlæste billeder, der ikke nødvendigvis er nødvendige eller afbryde forbindelsen til serverne, hvis det ikke er afgørende for applikationen at fuldføre forbindelsen i baggrunden. Dybest set bør denne metode, når den kaldes i applikationen, bruges til at suspendere applikationen fuldstændigt, hvis en del af den ikke skal køre i baggrunden.
applicationWillEnterForeground – denne tilstand er det modsatte af den første tilstand, når applikationen går tilbage til den aktive tilstand. Denne applikationstilstand betyder simpelthen, at i løbet af de næste par millisekunder vil den sovende applikation genoptages fra baggrunden og vises i forgrunden (applikationen kommer ind i forgrunden), denne metode skal bruges af udviklere til at genoptage alle processer, der var inaktive, mens applikationen var i baggrunden skal forbindelser til servere genetableres, timere nulstilles, billeder og data indlæses i hukommelsen, og andre nødvendige processer kan genoptages, lige før brugeren ser den indlæste applikation igen.
applicationDidBecomeActive – denne status angiver, at applikationen lige er blevet aktiv efter at være blevet gendannet i forgrunden, dette er en metode, der kan bruges til at foretage yderligere justeringer af brugergrænsefladen eller gendanne UI til dens oprindelige tilstand, osv. denne metode sker faktisk. når brugeren allerede kan se på displayet, så det er nødvendigt at bestemme ud fra balancen, hvad der sker i denne metode og i den tidligere metode. De kaldes efter hinanden med en forskel på et par millisekunder.
applicationWillTerminate - denne tilstand sker et par millisekunder før applikationen afsluttes, det vil sige før applikationen faktisk afsluttes. Enten manuelt fra multitasking eller når du slukker for enheden. Denne metode skal bruges til at gemme behandlede data og til at afslutte alle aktiviteter og slette data, der ikke længere er nødvendige.
applicationDidReceiveMemoryWarning - og det er en tilstand, der diskuteres meget her, hvis nødvendigt vil iOS fjerne applikationen fra hukommelsen, hvis den bruger systemressourcer unødigt. Jeg ved ikke præcis, hvad iOS gør med baggrundsapps, men hvis den har brug for en app til at frigive ressourcer til andre processer, beder den den med en hukommelsesadvarsel om at frigive de ressourcer, den har. Så denne metode kaldes i applikationen, og udviklerne bør implementere den, så applikationen opgiver den hukommelse, den har, gemmer de behandlede og sletter unødvendige data fra hukommelsen og ellers frigør hukommelsen tilstrækkeligt. Det er rigtigt, at mange udviklere, for eksempel begyndere, ikke tænker over sådanne ting eller ikke forstår dem, og så kan det ske, at deres applikation bringer batterilevetiden i fare og/eller unødigt bruger systemressourcer selv i baggrunden. Jeg ved ikke, hvordan iOS vil opføre sig, hvis applikationen ikke gør noget efter at have modtaget en hukommelsesadvarsel og fortsætter med at forbruge systemressourcer som før.
Disse få stater og tilknyttede metoder står bag hele "multitasking" i iOS... det er et fantastisk system, hvis udviklerne ikke ignorerer behovet for at være ansvarlige for, hvad apps vil kaste op på deres brugeres enheder, hvis de minimeres eller få advarsler fra systemet og mere...
Jeg håber, at denne korte beskrivelse hjælper dig med at forstå, hvordan applikationen er involveret i at få alt til at fungere problemfrit. Så det er næsten muligt at sige, at det er en fejl ved forkert brug af brugeren, hvilket kan forstås som - hvis du for det meste bruger gratis applikationer fra amatørudviklere i stort antal, vil din iOS-enhed køre dårligere, end hvis du bruger en stor antal gratis og betalte applikationer fra erfarne eller professionelle udviklere. Dermed ikke sagt, at der ikke er nogen undtagelser i begge kredse. Foursquare opfører sig for eksempel ret mærkeligt og krævende, og samtidig skulle man allerede forvente, at det er meget dygtige udviklere, der giver meget tid til hukommelse og batteristyring, men det modsatte er tilfældet. Det største problem med 4SQ er kommunikation med servere, som ofte hænger og bliver overvældet. Dette er blot et eksempel på, at selv kendte applikationer har problemer, hvilket ikke ændrer på, at 4SQ er en fantastisk service.
God fornøjelse Æbler!! :)
Vi tilføjede oplysningerne til artiklen med venlig tilladelse fra forfatteren ;-)
Undskyld, ENTER var overalt mellem afsnittene, de kunne gøre noget ved det her, så kommentarerne i det mindste har en lille smule RIG TEKSTFORMATERING.
ArnieX: tak for kommentaren!!
Den Faramir: Jeg angående dit problem, jeg ved ikke om det vil hjælpe i dit tilfælde, men jeg ved af egen erfaring, at hvis du lukker applikationen (i multitasking) går der et par sekunder, før den lukker, så hvis du slår den fra Jeg anbefaler at vente et par sekunder (jeg venter ca. 10 sekunder for at være sikker), indtil den er helt færdig, og først derefter starter jeg den igen.
Du er velkommen ;) Jeg hjælper gerne, hvis jeg har mulighed for at bidrage.
Hvordan skal det være med Meeb, når jeg logger ind på ICQ eller FB chat gennem det, logger det automatisk ud efter 10 minutter og jeg går offline eller fortsætter det med at virke? tak for opklaringen :P
Efter ti minutter bliver applikationens forbindelse til internettet simpelthen afbrudt. Du vil dog stadig være online på Meeba-serveren, og du vil modtage en push-notifikation, hvis nogen skriver til dig. Efter genåbning af applikationen oprettes forbindelsen om et øjeblik, og du kan fortsætte med at chatte med glæde.
Så hvis jeg forstod artiklen du linkede rigtigt, refererer statistikken kun til programnedbrud, når de starter, hvilket er en ret lille procentdel af tilfældene, hvor nedbrud kan forekomme. Derfor er det umuligt at konkludere ud fra denne "forskning", at iOS er mindre stabil efter min mening. Ydermere glemte oversætteren af artiklen hentet fra Forbes at nævne, at firmaet, der leverer data om applikationsnedbrud, er understøttet af blandt andet Google ("Crittercism, som er bakket op af Google Ventures,...").