Životni ciklus Android aplikacije

osnovni-vodič-programiranje-android-2

Kad započnete programirati na jeziku poput C ++ ili Java, prvo što se podučava je glavna metoda, točka koju će operativni sustav nazvati kad pokrenemo našu aplikaciju.

U Androidu ne postoji glavna metoda kao takva, ali postoji nekoliko metoda naše aktivnosti koje će SSOO pozvati kad 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. Službena dokumentacija nudi opsežno objašnjenje ove teme, ovdje ćemo proučiti najvažnije elemente zajedno s nekim uobičajenim pogreš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 stvorena. Ovu će metodu čarobnjak obično generirati prilikom stvaranja nove aktivnosti na Androidu i na njoj ćemo stvoriti sve što će aktivnosti trebati. Ako smo prethodno spremili podatke o aktivnosti u objekt Paketa, možemo ga koristiti za njihovu regeneraciju. Obično ga nećemo koristiti.
  2. onStart ()
    • Aktivnost će se nastaviti biti na ekranu, iako ne nužno vidljiv. Ako se zaustavimo, prvo ćemo proći onRestart ().
  3. onRestart ()
    • Prije onStart () kada dolazimo iz poziva onStop ().
  4. onResume ()
    • Aktivnost će započeti odgovoriti na interakciju korisnika.
  5. onPause ()
    • Aktivnost će prestani odgovarati interakciji s korisnikom.
  6. onStop ()
    • Aktivnost je u potpunosti krenula u pozadini.
  7. onDestroy ()
    • Aktivnost bit će uništeno i vaši resursi pušteni.

Kada trebamo implementirati jednu od ovih metoda, učinit ćemo to dodajući našoj aktivnosti s 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 nailazila na iznenađenja. Zadaci svakog događaja koji su iznad naše aktivnosti moraju se održati. Ovaj će poziv ići na početak ulaznih događaja i na kraj izlaznih događaja. Na taj ćemo način 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 dodavati 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 izbjegavanja onStop-a i onDestroya je taj što nemamo nikakvu kontrolu nad njima. onPause pokrenut će se kad god aplikacija izađe iz prvog plana, dok će druge dvije pokretati operativni sustav na temelju vaših potreba. Možda nikad neće biti pogubljeni! To se radi kako bi se izbjegli troškovi ponovnog i ponovnog stvaranja aktivnosti ako prijeđemo s aktivnosti na radnu površinu i obratno, a operativni sustav oslobodit će resurse koji se koriste samo ako su im potrebni i ne mora pohađati sve otvoreni procesi.

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

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

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 ponovno pokrenuli najtraženije usluge.
  • Ne dirajte ostale događaje ako vam to izričito ne treba.
  • Ne vjerujte onStop i onDestroy, možda se nikad neće nazvati. Spremite sve što vam treba u onPause.
  • Izbjegavajte upotrebu statičkih varijabli koje nisu konačne. 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 upotrijebiti, 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 svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.