Ciclul de viață al unei aplicații Android

ghid-de-bază-programare-android-2

Când începeți să programați într-un limbaj precum C ++ sau Java, primul lucru care este predat este metoda principală, punctul pe care îl va apela sistemul de operare atunci când pornim aplicația noastră.

În Android nu există o metodă principală ca atare, dar există mai multe metode ale activității noastre care vor fi apelate de SSOO atunci când apar evenimente importante. În acest capitol vom studia în profunzime care sunt acele evenimente și cum funcționează acestea. ciclul complet al unei activități Android. Documentația oficială oferă o explicație extinsă a acestui subiect, aici vom studia cele mai importante elemente împreună cu unele greșeli obișnuite atunci când le tratăm.

Ciclul de viață al Android urmează această schemă:

Android-ciclu de viață

Evenimente ale ciclului de viață

  1. onCreate (Bundle)
    • Reprezintă momentul în care se creează activitatea. Această metodă va fi în mod normal generată de expert atunci când se creează o nouă activitate pe Android și acolo vom crea tot ceea ce va avea nevoie activitatea. Dacă am salvat anterior datele despre activitate într-un obiect Bundle, le putem folosi pentru a le regenera. În mod normal, nu îl vom folosi.
  2. onStart ()
    • Activitatea va continua să fie pe ecran, deși nu neapărat vizibil. Dacă venim dintr-o oprire, vom trece mai întâi pe onRestart ().
  3. onRestart ()
    • Anterior la onStart () când venim dintr-un apel la onStop ().
  4. onResume ()
    • Activitatea va începe răspunde la interacțiune a utilizatorului.
  5. onPause ()
    • Activitatea va fi nu mai răspunde la interacțiunea cu utilizatorul.
  6. onStop ()
    • Activitatea s-a dus complet fundal.
  7. onDestroy ()
    • Activitate va fi distrus și resursele dvs. eliberate.

Când trebuie să implementăm una dintre aceste metode, o vom face adăugând la activitatea noastră cu aceste profiluri:

public class MyActivity extinde Activitatea {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} protected void onStart () {super.onStart (); ...} protected void onRestart () {super.onRestart (); ...} protected void onResume () {super.onResume (); ...} protected void onPause () {... super.onPause (); } protected void onStop () {... onStop (); } protected void onDestroy () {... super.onDestroy (); }}

Este important să mențineți apel metoda superclasei pentru a nu întâlni surprize. Sarcinile fiecărui eveniment care se află deasupra activității noastre trebuie menținute. Acest apel va merge la începutul evenimentelor de intrare și la sfârșitul evenimentelor de ieșire. În acest fel vom evita surprizele, deoarece elementele activității de care avem nevoie, dar care nu vor fi sub controlul nostru, vor fi create înainte de a le utiliza și vor fi distruse ulterior.

Nu trebuie să adăugăm toate evenimentele, cele de care nu avem nevoie vor folosi implementarea implicită. Metodele pe care le vom folosi adesea - și nu este recomandat să le atingem pe celelalte - sunt onCreate, onPause și onRestart.

Semnificația onCreate este clară: este locul în care vom încărca resursele de care avem nevoie, opiniile și orice altceva avem nevoie. Pentru rezultat, singura metodă pe care ne vom concentra este onPause. Motivul evitării onStop și onDestroy este că nu avem niciun control asupra lor. onPause va rula ori de câte ori aplicația iese din prim-plan, în timp ce celelalte două vor fi rulate de sistemul de operare în funcție de nevoile dumneavoastră. S-ar putea să nu fie executate niciodată! Acest lucru se face pentru a evita costul creării activității din nou și din nou dacă trecem de la activitate la desktop și invers, iar sistemul de operare va elibera resursele folosite numai dacă are nevoie de ele și nu trebuie să participe la toate procesele deschise.

Asta implică faptul că vom presupune că aplicația va muri după executarea onPause și că este a noastră ultima șansă de a salva date pe care trebuie să le salvăm și să oprim serviciile pe care le folosim, cum ar fi geolocalizarea. Dacă am oprit serviciile, locul potrivit pentru a le reporni este onRestart.

Celelalte metode nu vom avea nevoie să le folosim mult. Un caz obișnuit în care vom avea nevoie de el va fi atunci când integrăm biblioteci terțe, precum Facebook sau Flurry. În aceste cazuri, ni se va cere să potrivim metodele activității noastre cu codul dvs. De exemplu, pentru a înregistra o sesiune Flurry ni se va cere să începem sesiunea în metoda onStart.

Câteva idei utile

  • Amintiți-vă la ce servește fiecare eveniment. Veți avea întotdeauna nevoie de onCreate și, destul de des, veți avea nevoie de onPause și onResume pentru a opri și relansa cele mai consumatoare de servicii.
  • Nu atingeți celelalte evenimente dacă nu aveți nevoie expres de ea.
  • Nu aveți încredere în Stop și onDestroy, s-ar putea să nu fie chemați niciodată. Salvați tot ce aveți nevoie în onPause.
  • Evitați să utilizați variabile statice non-finale. Aplicația poate fi încă încărcată la întoarcere și va păstra valorile pe care le-au lăsat în urmă. Dacă nu aveți de ales decât să le folosiți, asigurați-vă că le resetați valorile atunci când reveniți în prim-plan.

Mai multe informatii - Ghid de bază pentru programarea în Android


Te interesează:
Cum să eliminați virușii pe Android
Urmărește-ne pe Știri Google

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Actualidad Blog
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.