Životní cyklus aplikace pro Android

basic-guide-programming-android-2

Když začnete programovat v jazyce, jako je C ++ nebo Java, první věcí, která se učí, je hlavní metoda, bod, který operační systém zavolá, když spustíme naši aplikaci.

V systému Android neexistuje žádná hlavní metoda jako taková, ale existuje několik metod naší činnosti, které bude SSOO voláno, když k nim dojde důležité události. V této kapitole podrobně prozkoumáme, o jaké události jde a jak to funguje. celý cyklus aktivity Android. Oficiální dokumentace nabízí rozsáhlé vysvětlení tohoto tématu, zde prozkoumáme nejdůležitější prvky a některé běžné chyby při jejich zacházení.

Životní cyklus systému Android se řídí tímto schématem:

životní cyklus Androidu

Události životního cyklu

  1. onCreate (balíček)
    • Představuje okamžik, kdy aktivita je vytvořena. Tuto metodu obvykle vytvoří průvodce při vytváření nové aktivity v systému Android a je to místo, kde vytvoříme vše, co aktivita bude potřebovat. Pokud jsme dříve uložili data aktivity do objektu Bundle, můžeme je použít k jejich regeneraci. Normálně to nebudeme používat.
  2. onStart ()
    • Aktivita bude pokračovat být na obrazovce, i když to nemusí být nutně viditelné. Pokud přijdeme ze zastávky, projdeme nejprve onRestart ().
  3. onRestart ()
    • Předchozí na onStart (), když přijdeme z volání na onStop ().
  4. onResume ()
    • Aktivita začne reagovat na interakci uživatele.
  5. onPause ()
    • Aktivita bude přestaň reagovat k interakci s uživatelem.
  6. onStop ()
    • Aktivita se úplně změnila na Pozadí.
  7. onDestroy ()
    • Aktivita bude zničeno a vaše zdroje uvolněny.

Když potřebujeme implementovat jednu z těchto metod, uděláme to přidání do naší aktivity s těmito profily:

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žovat volání metody superclass aby nenarazila na překvapení. Úkoly každé události, které jsou nad naší činností, musí být zachovány. Toto volání přejde na začátek vstupních událostí a na konec výstupních událostí. Tímto způsobem se vyhneme překvapení, protože prvky činnosti, které potřebujeme, ale které nebudou pod naší kontrolou, budou vytvořeny před jejich použitím a budou následně zničeny.

Nemusíme přidávat všechny události, ty, které nepotřebujeme, použijí výchozí implementaci. Metody, které budeme často používat - a nedoporučuje se dotýkat se ostatních - jsou onCreate, onPause a onRestart.

Význam onCreate je jasný: je to místo, kam načteme zdroje, které potřebujeme, pohledy a vše, co potřebujeme. Jedinou metodou výstupu je onPause. Důvodem, proč se vyhnout onStop a onDestroy, je to, že nad nimi nemáme žádnou kontrolu. onPause se spustí, kdykoli aplikace vyjde z popředí, zatímco ostatní dvě budou spuštěny operačním systémem na základě vašich potřeb. Možná nebudou nikdy popraveni! Děje se tak, aby se zabránilo nákladům na vytváření aktivity znovu a znovu, pokud přejdeme z aktivity na plochu a naopak, a operační systém uvolní použité zdroje, pouze pokud je potřebuje, a nemusí se účastnit všech otevřené procesy.

To znamená, že budeme předpokládat, že aplikace po spuštění onPause zemře, a že je naše poslední šance na uložení dat že musíme zachránit a zastavit služby, které používáme, jako je geolokace. Pokud jsme služby zastavili, je vhodné je restartovat při restartu.

Ostatní metody nebudeme muset příliš používat. Běžný případ, kdy to budeme potřebovat, bude, když integrujeme knihovny třetích stran, jako je Facebook nebo Flurry. V těchto případech budeme požádáni, abychom přiřadili metody naší činnosti k vašemu kódu. Například k registraci relace Flurry budeme vyzváni k zahájení relace metodou onStart.

Několik užitečných nápadů

  • Pamatujte, k čemu každá událost slouží. Vždy budete potřebovat onCreate a docela často budete potřebovat onPause a onResume, abyste zastavili a znovu spustili ty nejnáročnější služby.
  • Nedotýkejte se ostatních událostí pokud to výslovně nepotřebujete.
  • Nevěřte onStop and onDestroy, nemusí být nikdy povoláni. Uložte si vše, co potřebujete, do onPause.
  • Nepoužívejte konečné statické proměnné. Aplikaci lze stále načíst, když se vrátíte, a uchová si hodnoty, které po sobě zanechali. Pokud nemáte jinou možnost, než je použít, nezapomeňte po návratu do popředí resetovat jejich hodnoty.

Více informací - Základní průvodce programováním v systému Android


Zajímá vás:
Jak odstranit viry v systému Android
Sledujte nás ve Zprávách Google

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za data: Actualidad Blog
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.