Livssyklusen til en Android-applikasjon

basic-guide-programmering-android-2

Når du begynner å programmere på et språk som C ++ eller Java, er det første som læres ut hovedmetoden, poenget som operativsystemet vil ringe når vi starter applikasjonen.

I Android er det ingen hovedmetode som sådan, men det er flere metoder for aktiviteten vår som kalles av SSOO når de oppstår viktige hendelser. I dette kapittelet vil vi studere grundig hva disse hendelsene er, og hvordan det fungerer. hele syklusen til en aktivitet av Android. Den offisielle dokumentasjonen tilbyr en omfattende forklaring på dette emnet, her vil vi studere de viktigste elementene sammen med noen vanlige feil når vi håndterer dem.

Livssyklusen til Android følger denne ordningen:

Android-livssyklus

Livssyklushendelser

  1. onCreate (pakke)
    • Representerer øyeblikket når aktiviteten er opprettet. Denne metoden vil normalt bli generert av veiviseren når du oppretter en ny aktivitet på Android, og det er der vi vil lage alt aktiviteten trenger. Hvis vi tidligere har lagret aktivitetsdataene i et Bundle-objekt, kan vi bruke dem til å regenerere dem. Normalt vil vi ikke bruke den.
  2. onStart ()
    • Aktiviteten vil fortsette til være på skjermen, men ikke nødvendigvis synlig. Hvis vi kommer fra et stopp, vil vi gå gjennom onRestart () først.
  3. onRestart ()
    • Forrige til onStart () når vi kommer fra en samtale til onStop ().
  4. onResume ()
    • Aktiviteten starter svare på interaksjon av brukeren.
  5. onPause ()
    • Aktiviteten vil slutte å svare til brukerinteraksjon.
  6. onStop ()
    • Aktiviteten har gått helt til bakgrunn.
  7. onDestroy ()
    • Aktivitet det vil bli ødelagt og ressursene dine frigjort.

Når vi trenger å implementere en av disse metodene, vil vi gjøre det for å legge til aktiviteten vår med disse profilene:

offentlig klasse MyActivity utvider aktivitet {beskyttet tomrom onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} beskyttet tomrom onStart () {super.onStart (); ...} beskyttet tomrom onRestart () {super.onRestart (); ...} beskyttet tomrom onResume () {super.onResume (); ...} beskyttet tomrom onPause () {... super.onPause (); } beskyttet tomrom onStop () {... onStop (); } beskyttet tomrom onDestroy () {... super.onDestroy (); }}

Det er viktig å vedlikeholde superklassemetode samtale for ikke å møte overraskelser. Oppgavene til hvert arrangement som ligger over vår aktivitet, må opprettholdes. Denne samtalen går til begynnelsen av inngangshendelsene og til slutten av utgangshendelsene. På denne måten vil vi unngå overraskelser, siden elementene i aktiviteten vi trenger, men som ikke vil være under vår kontroll, vil bli opprettet før du bruker dem, og vil bli ødelagt etterpå.

Vi trenger ikke legge til alle arrangementene, de vi ikke trenger vil bruke standardimplementeringen. Metodene vi ofte vil bruke - og det anbefales ikke å berøre de andre - er onCreate, onPause og onRestart.

Betydningen av onCreate er klar: det er stedet hvor vi vil laste inn ressursene vi trenger, utsikten og alt annet vi trenger. For produksjonen er den eneste metoden vi vil fokusere på på Pause. Årsaken til å unngå onStop og onDestroy er at vi ikke har noen kontroll over dem. onPause vil kjøre når applikasjonen kommer ut av forgrunnen, mens de to andre vil kjøres av operativsystemet basert på dine behov. De kan aldri bli henrettet! Dette gjøres for å unngå kostnadene ved å lage aktiviteten igjen og igjen hvis vi går fra aktiviteten til skrivebordet og omvendt, og operativsystemet vil bare frigjøre ressursene som brukes hvis det trenger dem, og det trenger ikke å delta på alle de åpne prosessene.

Det innebærer at vi vil anta at applikasjonen vil dø etter at den er utført onPause, og at den er vår siste sjanse til å lagre data at vi trenger å spare, og å stoppe tjenester vi bruker, for eksempel geolokalisering. Hvis vi har stoppet tjenester, er det rette stedet å starte dem på på nytt.

De andre metodene trenger vi ikke bruke mye. Et vanlig tilfelle der vi trenger det, vil være når vi integrerer tredjepartsbiblioteker, som Facebook eller Flurry. I disse tilfellene blir vi bedt om å matche metodene for aktiviteten vår til koden din. For eksempel, for å registrere en Flurry-økt, blir vi bedt om å starte økten i onStart-metoden.

Noen nyttige ideer

  • Husk hva hvert arrangement er for. Du trenger alltid onCreate, og ganske ofte trenger du onPause og onResume for å stoppe og starte de mest forbrukende tjenestene på nytt.
  • Ikke rør de andre hendelsene hvis du ikke trenger det uttrykkelig.
  • Ikke stol på onStop og onDestroy, de blir kanskje aldri kalt. Lagre alt du trenger i onPause.
  • Unngå å bruke ikke-endelige statiske variabler. Appen kan fortsatt lastes når du kommer tilbake, og de vil beholde verdiene de etterlot seg. Hvis du ikke har annet valg enn å bruke dem, må du huske å tilbakestille verdiene når du kommer tilbake til forgrunnen.

Mer informasjon - Grunnleggende guide til programmering i Android


Du er interessert i:
Hvordan fjerne virus på Android
Følg oss på Google Nyheter

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Actualidad Blog
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.