Hjem Sosiale medier Hvordan man observerer advarsler om lavt minne i din iOS-app - dummies

Hvordan man observerer advarsler om lavt minne i din iOS-app - dummies

Innholdsfortegnelse:

Video: SCP-1730 What Happened to Site-13? Part 1 | euclid | building scp 2024

Video: SCP-1730 What Happened to Site-13? Part 1 | euclid | building scp 2024
Anonim

Selv om du har gjort alt riktig, kan du bare gå tom for minne i en stor iOS-app. Når denne situasjonen oppstår, sender systemet et lite minnevarsel til appen din - og det er noe du må være oppmerksom på. Hvis du ikke gjør det, er det en pålitelig oppskrift på katastrofe. UIKit gir deg flere måter du kan konfigurere appen din på, slik at du får tidsriktige varsler om mindre minne:

  • Overstyr metodene didReceiveMemoryWarning i den tilpassede UIViwComtroller-underkategorien.

  • Gjennomfør applicationDidReceiveMemoryWarning: Metoden til din programdelegate.

  • Registrer deg for å motta UIApplicationDidReceiveMemoryWarningNotification: notifikasjonen.

Metoden didReceiveMemoryWarning

Metoden didReceiveMemoryWarning sendes til visningskontrolleren når appen mottar en varselsvarsel. Din implementering av denne metoden skal gjøre alt for å redusere bruken av minne. Dette kan innebære drastiske skritt som for eksempel å lukke visninger, men det er mange andre trinn du kan ta som avhenger av din bestemte visningskontroller og dens visninger.

Hvis du for eksempel har lagret data og objekter, kan de kanskje bli fjernet og satt til null hvis du kan gjenopprette dem etter behov.

ApplicationDidReceive MemoryWarning: metode

Din programdelegate skal sette noen referanser til objekter som den trygt kan frigjøre til null.

UIApplicationDidReceiveMemory WarningNotification: varsel

Meldinger om lavt minne sendes til varslingssenteret, der alle meldinger er sentralisert. Et objekt som ønsker å bli informert om eventuelle varsler, registrerer seg selv til varslingssenteret ved å fortelle hvilket varsel det vil bli informert om, og en blokk som skal ringes når meldingen er hevet. I stedet for en blokk kan du levere en målmetode som skal kalles.

Et modellobjekt, for eksempel, kan da frigjøre datastrukturer eller objekter den eier som det ikke trenger umiddelbart, og kan gjenopprettes senere ved å sette referanser til null.

For de av dere som er nysgjerrige, kan du i følgende modellobjekt legge til følgende:

[[NSNotificationCenter defaultCenter] addObserverForName: UIApplicationDidReceiveMemoryWarningNotification objekt: [UIApplication sharedApplication] kø: nil usingBlock: ^ (NSNotification * notif) {// koden din her }];

Du kan teste applicationDidReceiveMemoryWarning: og UIApplicationDidReceiveMemoryWarningNotification: i simulatoren ved å velge Hardware → Simulate Memory Warning.

Velger den riktige minnestyringsstrategien for søknaden din

Hver av disse strategiene gir en annen del av appen din en sjanse til å frigjøre minnet det ikke lenger trenger (eller ikke trenger akkurat nå). Hvordan du faktisk får disse strategiene for deg, avhenger av appens arkitektur, så du må utforske det på egen hånd.

Ikke frigjøre nok minne vil resultere i at iOS sender appen din til programWillTerminate: melding og lukker appen ned. For mange apper er det beste forsvaret imidlertid en god lovbrudd, noe som betyr at du må administrere minnet effektivt og eliminere eventuelle minnelekkasjer i koden din ved å følge ARC-reglene.

For å teste, implementer alle disse metodene og legg inn NSLog-setninger i dem sammen med bruddpunkter, slik at du kan se minnesproblemene når de skjer. Det er enkelt å finne steder hvor du kan frigjøre minne, men det er mest effektivt å adressere de som gir det største banget for programmeringspenningen din.

Hvordan man observerer advarsler om lavt minne i din iOS-app - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...