Hjem Sosiale medier Hvordan avbrudd håndteres i iOS - dummies

Hvordan avbrudd håndteres i iOS - dummies

Video: Hva er GDPR? - Hvordan påvirker GDPR din bedrift 2024

Video: Hva er GDPR? - Hvordan påvirker GDPR din bedrift 2024
Anonim

Hvis brukeren svarer på avbrudd (SMS melding for eksempel) eller har lansert et annet program, blir søknaden din flyttet til bakgrunnen.

Livssyklusen for iOS-applikasjonen.

Når brukeren aksepterer varslingen eller avbrudd, eller trykker på Hjem-knappen (eller når systemet starter et annet program), flyttes søknaden din til bakgrunnsstaten, der den er suspendert. (Hvis en app må fortsette å kjøre, kan den be om utførelsestid fra systemet.)

Her er meldingene du kan svare på når programmet er flyttet inn i bakgrunnen:

  • The applicationDidEnterBackground: melding: Når appen din kommer inn i bakgrunnen state, det er sendt applicationDidEnterBackground: melding. I denne metoden bør du lagre alle data som ikke er lagret, eller state (der brukeren er i appen - den nåværende visningen, valgene som er valgt og ting som det) til en midlertidig hurtigbufferfil eller til preferansedatabasen " på disken. “

    Vet at Apple kaller iOS-lagringssystemet en disk selv om det er en solid state-stasjon, så hvis Apple kaller det, bør du sannsynligvis også, slik at du ikke forvirre for mange mennesker.

    Selv om søknaden din kommer inn i bakgrunnsstaten, har du ingen garanti for at den forblir der ubestemt. Hvis minnet blir begrenset, vil iOS rense bakgrunnsprogrammer for å gjøre mer plass til forgrunnsappen.

    Du må gjøre alt som er nødvendig for å kunne gjenopprette søknaden din, hvis den senere blir renset fra minnet, slik at neste gang brukeren starter appen din, kan programmet bruke denne informasjonen til å gjenopprette appen din til sin tidligere tilstand. Du må også gjøre ekstra opprydding, for eksempel å slette midlertidige filer.

    Hvis søknaden din blir renset når den er i denne suspenderte tilstanden, , blir det ikke merket at den er fjernet fra minnet. Du må lagre data på forhånd!

    Når din delegat er sendt applicationDidEnterBackground: -metoden, har appen din en ubestemt tid til å fullføre ting. Hvis metoden ikke returnerer før tiden går tom (eller hvis appen din ikke ber om mer eksekveringstid fra iOS), blir appen din avsluttet og renset fra minnet.

    Hvis søknaden din ber om mer utførelsestid, eller den har erklært at den gjør bakgrunnsutførelse, kan det fortsette å kjøre etter at metoden returnerer applicationDidEnterBackground: method. Hvis ikke, blir din (nå) bakgrunnsapplikasjon flyttet til suspendert -staten kort tid etter at du har returnert fra applicationDidEnterBackground: -metoden.

    Hvis programmet er i bakgrunnen, kan det da bli gjenoppstart. Dette kan skje hvis brukeren velger appen fra startskjermbildet eller multitaskingslinjen, eller det blir lansert av systemet hvis appen behandler hendelser i bakgrunnen eller overvåker en betydelig lokaliseringsendring, for eksempel.

  • applicationWillEnterForeground: melding: Når applikasjonen din startes på nytt fra bakgrunnen, sendes programmet ApplicationWillEnterForeground: melding. I denne metoden må du angre det du gjorde i applicationDidEnterBackground: metoden (ikke applicationWillResignActive; du angre det neste).

Hvis brukeren ignorerer SMS-meldingen, eller appen starter på nytt fra bakgrunnen, blir programmet aktivert og begynner å få berøring og andre hendelser.

Når programmet blir aktivert, blir det sendt programmetDidBecomeActive: melding.

Du kan bruke applicationDidBecomeActive: metoden for å gjenopprette programmet til staten den var i før avbrudd. Her fortryder du det du gjorde i applicationWillResignActive-metoden, for eksempel omstart eventuelle oppgaver som ble satt på pause (eller ikke startet ennå) mens programmet var inaktivt. Hvis programmet tidligere var i bakgrunnen, må du kanskje oppdatere brukergrensesnittet.

Mens et program er i suspendert tilstand, sporer og samler systemet (virkelig nett ut ) hendelser som kan ha innvirkning på det programmet når det gjenoppstår. Så snart søknaden din er i gang igjen, leverer systemet disse hendelsene.

For de fleste av disse hendelsene, bør søknadens eksisterende infrastruktur bare svare på riktig måte. Hvis for eksempel enhetsretningen endres, vil programmets visningsstyrere automatisk oppdatere grensesnittretningen på en passende måte.

Apper flyttes vanligvis til bakgrunnen når de avbrytes eller når brukeren slutter. Men hvis appen ble kompilert med en tidligere versjon av SDK, eller kjører på en tidligere versjon av operativsystemet som ikke støtter multitasking - eller hvis du bestemmer deg for at du ikke vil at appen skal kjøre i bakgrunnen og du setter UIApplicationExitsOnSuspend-tasten i sin Info. plist-fil - iOS avslutter appen din.

Selv om søknaden din støtter multitasking (nesten alle gjør på dette punktet), må du likevel være forberedt på at søknaden din blir drept uten varsel. Brukeren kan drepe applikasjoner eksplisitt ved hjelp av multitasking-linjen.

I tillegg, hvis minnet blir begrenset, kan systemet fjerne programmer fra minnet for å gjøre mer plass. Hvis det fjerner programmet suspendert , , gir det deg ingen advarsel, mye mindre varsel! Men hvis applikasjonen din nå kjører i bakgrunnsstatus, ringer systemet programmetWillTerminate: metode for programdelegatet.

Når applikasjonsdelegatet sendes, sendes programmetWillTerminate: melding i ikke-multitaskingsprogrammer, eller de som kjører i bakgrunnen, må du gjøre de samme typene du gjør i programmetDidEnterBackground: bortsett fra denne gangen gjør du at de vet at søknaden din har vunnet kommer ikke tilbake fra bakgrunnen.

Din søknadWillTerminate: Implementering av metoden har en begrenset (om enn ikke dokumentert) tid til å gjøre hva den trenger å gjøre og returnere. Lengre enn det, og søknaden din avsluttes og renses fra minnet. (Terminator kaller ikke rundt.)

Hvordan avbrudd håndteres i iOS - dummies

Redaktørens valg

10 Måter å varme opp og slappe av før og under GRE-dummies

10 Måter å varme opp og slappe av før og under GRE-dummies

GRE er like mye fysisk trening som det er mentalt, og det er mer som en maraton enn en sprint. Hvis du kommer ut av blokkene med en sprintens tempo, er du sikker på å raskt eksosere deg selv. Nøklene til å komme til enden og fullføre sterken, oppvarmer seg mentalt og holder seg i orden ...

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Når du takler et argument Analysespørsmål på GRE, din jobb er å identifisere om forfatteren har gjort en tilstrekkelig jobb med å presentere og støtte sin stilling. Graduate skoler forventer at du ikke bare skal lese med forståelse, men også å undersøke informasjonen og argumentet som presenteres og sortere logikken som er rimelig fra ...

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Når du tar GRE Verbal testen, et av essay spørsmålene vil be deg om å analysere et argument. Du må lese argumentet, se på sine underliggende forutsetninger, og deretter forklare hvordan disse forutsetningene påvirker argumentet. Følgende praksis spørsmål ligner på hva du finner på testen. Øvelsesspørsmål Tid: ...

Redaktørens valg

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Sikkerhetspolitikk for mobile enheter som knytter seg til bedriftsnettverket kan deles inn i to kategorier: retningslinjer for godkjente enheter og retningslinjer for andre enheter. Enhetspolicyer. Her er en oversikt over de to kategoriene av enhetsretningslinjer som du må kommunisere med brukere: Politikk for godkjente enheter: Denne policyen gjelder for alle bedriftsutstedte ...

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Ved hjelp av skybasert endpoint-sikkerhet er en metode for å beskytte enterprise mobile enheter fra virus, malware, spam og andre trusler. Den faktiske trusselsbeskyttelsen skjer i skyen eller sentralisert datasenter for sluttpunktsprogramvareleverandøren i denne typen distribusjon. Trafikk til og fra de mobile enhetene blir omdirigert på enheten til ...

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Nå som du har tenkt på å sikre mobilen enheter på nettverket ditt fra trusler som virus og malware, er det på tide å planlegge for ekstern håndheving av retningslinjer for enhetsadministrasjon eller sikkerhet. Du får ideen. Det handler om enhetssikkerhetsetikett, om å ta de enkle, men ofte ignorerte trinnene for å beskytte vitale data lagret på ...

Redaktørens valg

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Legeassistenteksamen PANCE) vil stille spørsmål om forhold som påvirker hånden og håndleddet. De spenner fra godartede cyster til mindre forstuinger til utbruddssvikt, så gjør deg kjent med det grunnleggende. Ganglioncyster En vanlig myk vævsmasse som du kan se på hendene og håndleddene, er en ganglioncyst, også kjent ...

HIV Grunnleggende for legeassistenteksamen - dummies

HIV Grunnleggende for legeassistenteksamen - dummies

For legeassistenteksamen (PANCE), bør du være kjent med noen generelle ting som angår HIV, spesifikke infeksjoner relatert til HIV, og bivirkninger av visse medisiner. HIV står for humant immundefektvirus. Risikofaktorer for å skaffe hiv inkluderer høyrisiko seksuell atferd og narkotikamisbruk, spesielt intravenøs bruk med skitne nåler. Kommer i kontakt med ...

Mageområdet for legeassistenteksamen - dummies

Mageområdet for legeassistenteksamen - dummies

Etter å ha reist gjennom spiserøret, din neste destinasjon i forberedelsene til legeassistenteksamen (PANCE) er det livlige magesektoren. Inneholder cardia, fundus, antrum og pylorus, er dette området bare moden for patologi og fremtidige PANCE-spørsmål. Magen er et sted hvor mye av fordøyelsen finner sted. Hovedcellene ...