Životný cyklus aplikácie pre Android

basic-guide-programming-android-2

Keď začnete programovať v jazyku ako C ++ alebo Java, prvá vec, ktorá sa naučí, je hlavná metóda, bod, ktorý operačný systém zavolá, keď spustíme našu aplikáciu.

V systéme Android neexistuje žiadna hlavná metóda ako taká, ale existuje niekoľko metód našej činnosti, ktoré bude SSOO volať, keď k nim dôjde dôležité udalosti. V tejto kapitole podrobne preskúmame, čo sú tieto udalosti a ako to funguje. celý cyklus činnosti Android. Oficiálna dokumentácia ponúka rozsiahle vysvetlenie tejto témy, tu si preštudujeme najdôležitejšie prvky a niektoré bežné chyby pri ich manipulácii.

Životný cyklus systému Android sa riadi touto schémou:

android-zivotny cyklus

Udalosti životného cyklu

  1. onCreate (balík)
    • Predstavuje okamih, kedy aktivita je vytvorená. Túto metódu zvyčajne vytvorí sprievodca pri vytváraní novej aktivity v systéme Android a práve tam vytvoríme všetko, čo bude aktivita potrebovať. Ak sme predtým uložili údaje o činnosti do objektu zväzku, môžeme ich použiť na ich regeneráciu. Normálne to nebudeme používať.
  2. onStart ()
    • Aktivita bude pokračovať byť na obrazovke, aj keď to nie je nevyhnutne viditeľné. Ak prídeme zo zastávky, najskôr prejdeme cez onRestart ().
  3. onRestart ()
    • Predchádzajúce funkcii onStart (), keď prichádzame z hovoru na funkciu onStop ().
  4. onResume ()
    • Aktivita sa začne reagovať na interakciu používateľ.
  5. onPause ()
    • Aktivita bude prestaň reagovať k interakcii používateľa.
  6. onStop ()
    • Aktivita prešla úplne do pozadie.
  7. onDestroy ()
    • Činnosť bude zničené a vaše zdroje uvoľnené.

Keď potrebujeme implementovať jednu z týchto metód, urobíme to pridaním našej aktivity k týmto profilom:

public class MyActivity extends Activity {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 (); }}

Je dôležité udržiavať volanie metódy nadtriedy aby sa nestretli s prekvapeniami. Úlohy každého podujatia, ktoré sú nad našou činnosťou, musia byť zachované. Toto volanie prejde na začiatok vstupných udalostí a na koniec výstupných udalostí. Takto sa vyhneme prekvapeniam, pretože prvky činnosti, ktoré síce potrebujeme, ale ktoré nebudeme mať pod kontrolou, budú vytvorené pred ich použitím a budú následne zničené.

Nemusíme pridávať všetky udalosti, tie, ktoré nepotrebujeme, použijú predvolenú implementáciu. Metódy, ktoré často použijeme - a neodporúča sa dotýkať sa ostatných - sú onCreate, onPause a onRestart.

Význam onCreate je jasný: je to miesto, kde načtieme zdroje, ktoré potrebujeme, pohľady a čokoľvek iné, čo potrebujeme. Pre výstup je jedinou metódou, na ktorú sa zameriame, onPause. Dôvod, prečo sa vyhnúť programom onStop a onDestroy, je ten, že nad nimi nemáme žiadnu kontrolu. Program onPause sa spustí vždy, keď aplikácia vyjde z popredia, zatiaľ čo ďalšie dve spustí operačný systém na základe vašich potrieb. Možno nebudú nikdy popravení! Toto sa deje, aby sa zabránilo opakovaným nákladom na vytváranie aktivity, ak prejdeme z aktivity na plochu a naopak. Operačný systém uvoľní použité zdroje iba v prípade, že ich potrebuje, a nemusí sa zúčastňovať všetkých otvorené procesy.

To znamená, že budeme predpokladať, že aplikácia po vykonaní programu onPause zomrie, a že je naša posledná šanca na uloženie dát ktoré musíme uložiť a zastaviť služby, ktoré používame, napríklad geolokáciu. Ak sme zastavili služby, vhodné miesto na ich reštartovanie je onRestart.

Ostatné metódy nebudeme musieť príliš používať. Častým prípadom, keď to budeme potrebovať, bude integrácia knižníc tretích strán, ako je Facebook alebo Flurry. V týchto prípadoch budeme požiadaní o priradenie metód našej činnosti k vášmu kódu. Napríklad na registráciu relácie Flurry budeme požiadaní o spustenie relácie metódou onStart.

Niekoľko užitočných nápadov

  • Pamätajte, na čo slúžia jednotlivé udalosti. Na zastavenie a opätovné spustenie najnáročnejších služieb budete vždy potrebovať program onCreate a pomerne často budete potrebovať program onPause a onResume.
  • Nedotýkajte sa ďalších udalostí ak to vyslovene nepotrebuješ.
  • Neverte onStop and onDestroy, možno by sa nikdy nevolali. Všetko potrebné si uložte do služby pause.
  • Nepoužívajte nekoncové statické premenné. Aplikáciu je možné načítať aj po návrate a zachovajú si hodnoty, ktoré za sebou zanechali. Ak nemáte inú možnosť, ako ich použiť, nezabudnite pri návrate do popredia resetovať ich hodnoty.

Viac informácií - Základný sprievodca programovaním v systéme Android


Zaujíma vás:
Ako odstrániť vírusy v systéme Android
Sledujte nás na Google News

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Actualidad Blog
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.