Hem Sociala medier Hur avbrott hanteras i iOS - dummies

Hur avbrott hanteras i iOS - dummies

Video: A Trip to Unicorn Island 2025

Video: A Trip to Unicorn Island 2025
Anonim

Om användaren svarar på avbrottet (SMS meddelande till exempel) eller har startat en annan applikation, flyttas din ansökan till bakgrunden.

Livscykeln för iOS-programmet.

När användaren accepterar meddelandet eller avbrottet, eller trycker på knappen Hem (eller när systemet startar en annan applikation), flyttas din ansökan till bakgrundsläget, där den är avstängd. (Om en app måste fortsätta springa kan den begära körningstid från systemet.)

Här är de meddelanden som din ansökan kan svara på när den har flyttats in i bakgrunden:

  • The applicationDidEnterBackground: meddelande: När din app först kommer in i bakgrunden state, det är skickat applicationDidEnterBackground: meddelande. I den här metoden borde du spara någon osparad data eller stat (där användaren är i appen - den aktuella vyn, de valda alternativen och saker som det) till en tillfällig cache-fil eller till inställningsdatabasen " på disken. ”

    Vet att Apple kallar iOS-lagringssystemet en disk trots att det är en solid-state-enhet, så om Apple kallar det så borde du troligen också Förvirra inte för många människor.

    Även om din ansökan går in i bakgrundsstaten, har du ingen garanti för att den kommer att stanna kvar på obestämd tid. Om minnet blir begränsat kommer IOS att rensa bakgrundsappar för att göra mer plats för förgrundsappen.

    Du måste göra allt som behövs för att kunna återställa din ansökan om det sedan rensas ur minnet så att nästa gång användaren startar din app kan din ansökan använda den informationen för att återställa din app till dess tidigare tillstånd. Du måste också göra ytterligare rengöringsoperationer, till exempel att ta bort tillfälliga filer.

    Om din ansökan rensas när den befinner sig i det här suspenderade läget, , får det inte märkas att det har tagits bort från minnet. Du måste spara data på förhand!

    När din delegat har skickats till applicationDidEnterBackground: -metoden har din app en odaterad tid att slutföra sakerna. Om metoden inte återvänder innan tiden löper ut (eller om din app inte begär mer exekveringstid från iOS), avslutas din app och rensas från minnet.

    Om din ansökan begär mer exekveringstid eller det har förklarat att det gör bakgrundsförlängning, får det fortsätta att köras efter att metodDidEnterBackground: returnerar metod. Om inte, flyttas din (nu) bakgrundsapplikation till tillståndet suspenderat strax efter att ha återvänt från applicationDidEnterBackground: -metoden.

    Om programmet är i bakgrunden kan det sedan startas om. Detta kan hända om användaren väljer appen från startskärmen eller multitaskingsfältet, eller det startas av systemet om appen behandlar händelser i bakgrunden eller övervakar en betydande platsändring, till exempel.

  • Programmet applicationWillEnterForeground: : När din applikation omstartas från bakgrunden skickas programmet ApplicationWillEnterForeground: meddelande. I den här metoden måste du ångra vad du gjorde i programmetDidEnterBackground: metod (inte applicationWillResignActive; du ångrar det nästa).

Om användaren ignorerar SMS-meddelandet, eller om appen startas om från bakgrunden, aktiveras din applikation och börjar bli beröring och andra händelser.

När din ansökan återaktiveras skickas den till applicationDidBecomeActive: Meddelandet.

Du kan använda metoden applicationDidBecomeActive: för att återställa programmet till det tillstånd den var innan avbrottet. Här ångrar du vad du gjorde i applicationWillResignActive-metoden, till exempel starta om några aktiviteter som var pausade (eller ännu inte startat) medan programmet var inaktivt. Om programmet tidigare var i bakgrunden kanske du behöver uppdatera användargränssnittet.

Medan en applikation befinner sig i suspenderat tillstånd spårar och samlar systemet (egentligen nät ut ) händelser som kan påverka den applikationen när den startas om. Så snart din ansökan är igång igen, levererar systemet dessa händelser till den.

För de flesta av dessa händelser bör din applikations befintliga infrastruktur bara svara på lämpligt sätt. Om till exempel om orienteringen av enheten ändras, uppdaterar programmets visningsstyrare automatiskt gränssnittets orientering på ett lämpligt sätt.

Apps flyttas vanligtvis till bakgrunden när de avbryts eller när användaren avslutar. Men om appen kompilerades med en tidigare version av SDK, eller körs på en tidigare version av operativsystemet som inte stöder multitasking - eller om du bestämmer dig för att du inte vill att din app ska springa i bakgrunden och du ställer in UIApplicationExitsOnSuspend-knappen i dess Info. plistfil - iOS avslutar din app.

Även om din ansökan stöder multitasking (nästan alla gör nu) måste du fortfarande vara beredd att din ansökan ska dödas utan någon anmälan. Användaren kan döda program uttryckligen med hjälp av multitaskingsfältet.

Om minnet blir begränsat kan dessutom systemet ta bort program från minnet för att göra mer utrymme. Om det tar bort ditt suspenderade -program, ger det dig ingen varning, mycket mindre varsel! Om din applikation för närvarande körs i bakgrundsstatus, ringer systemet dock programmetWillTerminate: -metoden för programdelegationen.

När din ansökan delegat skickas programmetWillTerminate: meddelande i icke-multitaskingsapplikationer, eller de som körs i bakgrunden, måste du göra samma sorts saker som du gör i applicationDidEnterBackground: förutom den här tiden gör du dem och vet att din ansökan har vunnit kommer inte att återvända från bakgrunden.

Din ansökanWillTerminate: Metodsimplementering har en begränsad (om än obegränsad) tid att göra vad den behöver göra och återvända. Mer än det och din ansökan avslutas och rensas från minnet. (Terminator knyter inte runt.)

Hur avbrott hanteras i iOS - dummies

Redaktörens val

Filtrering av data i Tableau-dummies

Filtrering av data i Tableau-dummies

Filtrering är en metod för att styra vilka rader data används för att utföra analysen och visas i vyn i Tableau. Ett enkelt sätt att filtrera data i Tableau är att använda filterns hylla. När du släpper fält på den här hyllan kan du välja de värden du vill använda ...

Hur man importerar skisser till Illustrator för att skapa infographics - dummies

Hur man importerar skisser till Illustrator för att skapa infographics - dummies

ÄLskar att skissa. Goda nyheter! Dina grova skisser kan enkelt bearbetas i dina utkast till infographics. Du kan skanna skisser eller få en bild av din skiss med din telefon och skicka den till dig själv. De behöver inte vara färg, bara tillräckligt för att du ska ...

Hur man ska inkludera illustrationer i dina infografier - dummies

Hur man ska inkludera illustrationer i dina infografier - dummies

En bra infografisk (självklart) bör innehålla bra konst. Illustrationer främjar storylinen, definierar element visuellt och lyser upp en sida som annars skulle kunna fyllas med grå typ. En illustration kan vara en fysisk ritning, en sorts diagram eller graf eller till och med en tidslinje. Din vardag är fylld med exempel på hur illustrationer ...

Redaktörens val

Färg Korrekt hudtoner i Photoshop Elements - dummies

Färg Korrekt hudtoner i Photoshop Elements - dummies

När det gäller färgkorrigering, det viktigaste att veta hur man gör i Photoshop Elements är hur man gör färgkorrigeringar för hudtoner. Du kan få bilder av byggnader, lövverk och livliga föremål av färg, och det kan inte märkas. Men med gröna ansikten eller svarta blåtoner på människor ...

Kloningelement med klonstämpelverktyget i Photoshop Elements 9 - dummies

Kloningelement med klonstämpelverktyget i Photoshop Elements 9 - dummies

Photoshop Elements ger en Klonstämpelverktyg som tar samplade pixlar från ett område och kopierar eller klonar dem till ett annat område. Fördelen med att klona, ​​istället för att göra ett urval och kopiera och klistra, är att det är lättare att behålla mjukkantade element, till exempel skuggor. Du kan också använda det här verktyget för att fixa brister, ...

Klon med Photoshop Elements 11 Clone Stamp Tool - dummies

Klon med Photoshop Elements 11 Clone Stamp Tool - dummies

Clone Stamp-verktyget i Photoshop Elements 11 kan användas vid retuschering av felaktigheter, såsom repor, ärr, blåmärken, datum / tidstämpeltryck från kameror och andra mindre brister. Det var faktiskt en av dess huvudfunktioner. I vissa retuscheringsförekomster gör det ett anständigt jobb, även om läkemedelsbrushen kommer ...

Redaktörens val

Nikon D600 för Dummies Cheat Sheet - dummies

Nikon D600 för Dummies Cheat Sheet - dummies

Med D600 digitalkameran, visar Nikon än en gång att du inte ' du måste inte ge en arm och ett ben - eller dra åt ryggen och nacken - för att njuta av dSLR-fotografering. D600-tillägget till Nikon-familjen av dSLR-kameror skämmer inte på ström eller prestanda, och erbjuder en stor uppsättning funktioner till ...

Nikon D5600 installationsmeny - dummies

Nikon D5600 installationsmeny - dummies

Följande alternativ lever i inställningsmenyn på din Nikon D5600-kamera, vilket är den som markeras med skiftnyckeln. Menyn som visas här är en sida på tre sidor (endast sidan 1 syns i figuren). Dra upp och ner pekskärmen eller använd multiväljaren för att bläddra genom menyn ...

Nikon D5600s externa kontrollpaneler bakom kroppen <dumma

Nikon D5600s externa kontrollpaneler bakom kroppen

På baksidan av Nikon D5600-kameran, som visas i följande bild, kan du hitta en hel del funktioner, inklusive: Menyknappen, sökarens inställningsratt och uppspelningsknappen för att bara nämna några. Här är en mer komplett lista: Menyknapp: Tryck på den här knappen för att komma åt menyer för kameraalternativ. Sökningsinställningsratt: Rotera ...