Životni ciklus Android aplikacije

osnovni-vodič-programiranje-android-2

Kada započnete programiranje na jeziku kao što su C ++ ili Java, prvo što se podučava je glavna metoda, tačka koju će operativni sistem pozvati kada pokrenemo našu aplikaciju.

U Androidu ne postoji glavna metoda kao takva, ali postoji nekoliko metoda naše aktivnosti koje će SSOO pozvati kada se pojave važni događaji. U ovom ćemo poglavlju detaljno proučiti koji su to događaji i kako to funkcionira. kompletan ciklus aktivnosti Androida. Zvanična dokumentacija nudi opsežno objašnjenje ove teme, ovdje ćemo proučiti najvažnije elemente zajedno s nekim uobičajenim greškama pri njihovom rukovanju.

Životni ciklus Androida slijedi ovu shemu:

android-životni ciklus

Događaji životnog ciklusa

  1. onCreate (paket)
    • Predstavlja trenutak kada aktivnost je kreirana. Ovu će metodu čarobnjak obično generirati prilikom kreiranja nove aktivnosti na Androidu i na njoj ćemo stvoriti sve što će aktivnosti trebati. Ako smo prethodno spremili podatke o aktivnosti u paketni objekt, možemo ih koristiti za regeneraciju. Obično ga nećemo koristiti.
  2. onStart ()
    • Aktivnost će ići na biti na ekranu, iako nije nužno vidljiv. Ako se zaustavimo, prvo ćemo proći kroz onRestart ().
  3. onRestart ()
    • Prethodno onStart () kada dolazimo iz poziva onStop ().
  4. onResume ()
    • Aktivnost će započeti odgovoriti na interakciju korisnika.
  5. onPause ()
    • Aktivnost hoće prestani reagirati interakciji s korisnikom.
  6. onStop ()
    • Aktivnost je u potpunosti krenula pozadinu.
  7. onDestroy ()
    • Aktivnost bit će uništeno i vaši resursi oslobođeni.

Kada trebamo implementirati jednu od ovih metoda, to ćemo učiniti dodavanjem našoj aktivnosti sa ovim profilima:

javna klasa MyActivity proširuje Aktivnost {zaštićena praznina onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} zaštićena praznina onStart () {super.onStart (); ...} zaštićena praznina onRestart () {super.onRestart (); ...} zaštićena praznina onResume () {super.onResume (); ...} zaštićena praznina onPause () {... super.onPause (); } zaštićena praznina onStop () {... onStop (); } zaštićena praznina onDestroy () {... super.onDestroy (); }}

Važno je održavati poziv metode superklase kako ne bi nailazili na iznenađenja. Zadaci svakog događaja koji su iznad naše aktivnosti moraju se održati. Ovaj poziv će ići na početak ulaznih događaja i na kraj izlaznih događaja. Na taj način ćemo izbjeći iznenađenja, jer će se elementi aktivnosti koji su nam potrebni, ali koji neće biti pod našom kontrolom stvoriti prije nego što ih upotrijebimo, a nakon toga uništiti.

Ne moramo dodati sve događaje, oni koji nam ne trebaju koristit će zadanu implementaciju. Metode koje ćemo često koristiti - a ne preporučuje se dodirivanje ostalih - su onCreate, onPause i onRestart.

Značenje onCreate je jasno: to je mjesto na koje ćemo učitati resurse koji su nam potrebni, poglede i sve drugo što nam treba. Kao rezultat, jedina metoda na koju ćemo se usredotočiti je onPause. Razlog za izbjegavanje onStop i onDestroy je taj što nemamo nikakvu kontrolu nad njima. onPause će se pokretati kad god aplikacija izađe iz prvog plana, dok će druge dvije pokretati operativni sistem na osnovu vaših potreba. Možda nikada neće biti pogubljeni! To se radi kako bi se izbjegli troškovi ponovnog i ponovnog stvaranja aktivnosti ako od aktivnosti pređemo na radnu površinu i obrnuto, a operativni sistem će osloboditi resurse koji se koriste samo ako su im potrebni i ne mora pohađati sve otvoreni procesi.

To znači da ćemo pretpostaviti da će aplikacija umrijeti nakon izvršavanja onPause i da je naša zadnja prilika za spremanje podataka da moramo uštedjeti i zaustaviti usluge koje koristimo, poput geolokacije. Ako smo zaustavili usluge, odgovarajuće mjesto za ponovno pokretanje je onRestart.

Ostale metode nećemo morati puno koristiti. Čest slučaj u kojem će nam zatrebati bit će kada integriramo biblioteke trećih strana, kao što su Facebook ili Flurry. U tim slučajevima od nas će se tražiti da metode naše aktivnosti prilagodimo vašem kodu. Na primjer, za registraciju Flurry sesije od nas će se tražiti da započnemo sesiju onStart metodom.

Neke korisne ideje

  • Sjetite se čemu služi svaki događaj. Uvijek će vam trebati onCreate, a često će vam trebati onPause i onResume da biste zaustavili i ponovo pokrenuli najtraženije usluge.
  • Ne dirajte ostale događaje ako vam to izričito ne treba.
  • Ne vjerujte onStop i onDestroy, možda ih nikad neće pozvati. Spremite sve što vam treba u onPause.
  • Izbjegavajte upotrebu ne-konačnih statičkih varijabli. Aplikacija se i dalje može učitati kad se vratite i zadržat će vrijednosti koje su ostavile iza sebe. Ako nemate izbora nego ih koristiti, poništite njihove vrijednosti kad se vratite u prvi plan.

Više informacija - Osnovni vodič za programiranje u Androidu


Zanimaju vas:
Kako ukloniti viruse na Androidu
Pratite nas na Google Vijestima

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: Actualidad Blog
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.