Življenjski cikel aplikacije za Android

osnovni-vodnik-programiranje-android-2

Ko začnete programirati v jeziku, kot sta C ++ ali Java, se najprej nauči glavna metoda, točka, ki jo bo poklical operacijski sistem, ko zaženemo aplikacijo.

V Androidu ni glavne metode kot take, obstaja pa več načinov naše dejavnosti, ki jih bo SSOO poklical, ko se pojavijo pomembni dogodki. V tem poglavju bomo podrobno preučili, kaj so ti dogodki in kako delujejo. celoten cikel dejavnosti sistema Android. Uradna dokumentacija ponuja obsežno razlago te teme, tukaj bomo preučili najpomembnejše elemente in nekatere pogoste napake pri njihovi obravnavi.

Življenjski cikel Androida sledi tej shemi:

android-življenjski cikel

Dogodki v življenjskem ciklu

  1. onCreate (sveženj)
    • Predstavlja trenutek, ko aktivnost je ustvarjena. To metodo običajno ustvari čarovnik, ko ustvarja novo dejavnost v Androidu, in tam bomo ustvarili vse, kar bo aktivnost potrebovala. Če smo podatke o dejavnosti predhodno shranili v objekt Bundle, ga lahko uporabimo za njihovo regeneracijo. Običajno ga ne bomo uporabljali.
  2. onStart ()
    • Dejavnost se bo nadaljevala biti na zaslonu, čeprav ni nujno viden. Če pridemo s postanka, bomo najprej šli skozi onRestart ().
  3. onRestart ()
    • Pred onStart (), ko prihajamo iz klica na onStop ().
  4. onResume ()
    • Dejavnost se bo začela se odzivajo na interakcijo uporabnika.
  5. onPause ()
    • Dejavnost bo nehajte se odzivati do interakcije z uporabnikom.
  6. onStop ()
    • Dejavnost se je popolnoma začela ozadje.
  7. onDestroy ()
    • Dejavnost uničena bo in vaši viri sproščeni.

Ko bomo morali uporabiti eno od teh metod, jo bomo dodali k svoji dejavnosti s temi profili:

javni razred MyActivity razširja Activity {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} zaščitena void onStart () {super.onStart (); ...} zaščitena praznina onRestart () {super.onRestart (); ...} zaščitena praznina onResume () {super.onResume (); ...} zaščitena praznina onPause () {... super.onPause (); } zaščitena praznina onStop () {... onStop (); } zaščitena praznina onDestroy () {... super.onDestroy (); }}

Pomembno je vzdrževati klic metode superklase da ne bi naleteli na presenečenja. Ohraniti je treba naloge vsakega dogodka, ki so nad našo aktivnostjo. Ta klic bo preusmerjen na začetek vhodnih dogodkov in na konec izhodnih dogodkov. Na ta način se bomo izognili presenečenjem, saj bodo elementi dejavnosti, ki jih potrebujemo, vendar ne bodo pod našim nadzorom, ustvarjeni pred njihovo uporabo in nato uničeni.

Ni nam treba dodati vseh dogodkov, tisti, ki jih ne potrebujemo, bodo uporabili privzeto izvedbo. Metode, ki jih bomo pogosto uporabljali - in ni priporočljivo, da se jih dotikamo, so onCreate, onPause in onRestart.

Pomen onCreate je jasen: to je kraj, kamor bomo naložili vire, ki jih potrebujemo, poglede in karkoli drugega potrebujemo. Za izhod je edina metoda, na katero se bomo osredotočili, onPause. Razlog za izogibanje onStop in onDestroy je v tem, da nad njimi nimamo nobenega nadzora. onPause se bo zagnal, kadar koli bo aplikacija prišla iz prvega plana, druga dva pa bo operacijski sistem zagnal glede na vaše potrebe. Morda jih ne bodo nikoli usmrtili! To se naredi, da se vedno znova izognemo stroškom ustvarjanja dejavnosti, če gremo z dejavnosti na namizje in obratno, operacijski sistem pa bo uporabljene vire osvobodil le, če jih bo potreboval in se mu ni treba udeležiti vseh odprti procesi.

To pomeni, da bomo domnevali, da bo aplikacija umrla po zagonu onPause in da je naša zadnja priložnost za shranjevanje podatkov da moramo varčevati in ustaviti storitve, ki jih uporabljamo, kot je geolokacija. Če smo ustavili storitve, je primerno mesto za ponovni zagon onRestart.

Drugih metod ne bomo morali veliko uporabljati. Pogost primer, ko ga bomo potrebovali, bo, če bomo integrirali neodvisne knjižnice, kot sta Facebook ali Flurry. V teh primerih bomo pozvani, da metode naše dejavnosti prilagodimo vaši kodi. Na primer, za registracijo seje Flurry bomo pozvani, da sejo začnemo z metodo onStart.

Nekaj ​​uporabnih idej

  • Ne pozabite, čemu je namenjen vsak dogodek. Vedno boste potrebovali onCreate in pogosto boste morali onPause in onResume ustaviti in znova zagnati najzahtevnejše storitve.
  • Ne dotikajte se drugih dogodkov če ga ne potrebujete izrecno.
  • Ne zaupajte onStop in onDestroy, morda jih ne bodo nikoli poklicali. Shranite vse, kar potrebujete, v onPause.
  • Izogibajte se uporabi nedokončnih statičnih spremenljivk. Aplikacijo lahko še vedno naložite, ko se vrnete, in ohranila bo vrednosti, ki so jih pustile za seboj. Če vam ne preostane drugega, kot da jih uporabite, ponastavite njihove vrednosti, ko se vrnete v ospredje.

Več informacij - Osnovni vodnik za programiranje v Androidu


Zanima vas:
Kako odstraniti viruse v Androidu
Spremljajte nas v Google News

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Blog Actualidad
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.