Az Android-alkalmazások életciklusa

alap-útmutató-programozás-android-2

Amikor elkezdi a programozást olyan nyelven, mint a C ++ vagy a Java, az első dolog, amit megtanít, az a fő módszer, az a pont, amelyet az operációs rendszer felhívni fog, amikor elindítjuk az alkalmazásunkat.

Az Android rendszerben nincs fő módszer, mint olyan, de tevékenységünknek számos módszere van, amelyeket az SSOO meghív majd, amikor azok bekövetkeznek fontos események. Ebben a fejezetben alaposan megvizsgáljuk, hogy melyek ezek az események, és hogyan működik. egy tevékenység teljes ciklusa az Android. A hivatalos dokumentáció átfogó magyarázatot nyújt a témára, itt megvizsgáljuk a legfontosabb elemeket, valamint néhány gyakori hibát azok kezelésénél.

Az Android életciklusa ezt a sémát követi:

android-életciklus

Életciklus események

  1. onCreate (Csomag)
    • Képviseli azt a pillanatot, amikor a tevékenység létrejön. Ezt a módszert általában a varázsló generálja, amikor új tevékenységet hoz létre az Android rendszeren, és itt fogunk létrehozni mindent, amire a tevékenységre szükség lesz. Ha korábban elmentettük a tevékenység adatait egy Bundle objektumba, akkor felhasználhatjuk a regenerálásra. Általában nem fogjuk használni.
  2. onStart ()
    • A tevékenység folytatódik legyen a képernyőn, bár nem feltétlenül látható. Ha megállóból érkezünk, akkor először az onRestart () programon megyünk keresztül.
  3. onRestart ()
    • Előző az onStart () alkalmazáshoz, amikor az onStop () hívásáról érkezünk.
  4. folytatva()
    • A tevékenység megkezdődik reagálni az interakcióra felhasználó.
  5. onPause ()
    • A tevékenység lesz ne válaszoljon a felhasználói interakcióhoz.
  6. onStop ()
    • A tevékenység teljesen a háttér.
  7. onDestroy ()
    • Tevékenység megsemmisül és kiadott erőforrásait.

Amikor ezeknek a módszereknek az egyikét végre kell hajtanunk, akkor ezt a profilokkal végzett tevékenységünkhöz hozzáadva:

nyilvános osztály A MyActivity kiterjeszti a tevékenységet {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} védett void onStart () {super.onStart (); ...} védett void onRestart () {super.onRestart (); ...} védett void onResume () {super.onResume (); ...} védett void onPause () {... super.onPause (); } védett void onStop () {... onStop (); } védett void onDestroy () {... super.onDestroy (); }}

Fontos fenntartani superclass módszer hívása hogy ne találkozzon meglepetésekkel. Az egyes események feladatait, amelyek meghaladják a tevékenységünket, fenn kell tartani. Ez a hívás a bemeneti események elejére és a kimeneti események végére vezet. Így elkerüljük a meglepetéseket, mivel a tevékenység azon elemei, amelyekre szükségünk van, de amelyek nem lesznek az irányításunk alatt, felhasználásuk előtt létrejönnek, és utána megsemmisülnek.

Nem kell hozzáadnunk az összes eseményt, azok, amelyekre nincs szükségünk, az alapértelmezett megvalósítást használják. A gyakran használt módszerek - és nem ajánlott a többiekhez nyúlni - az onCreate, onPause és onRestart.

Az onCreate jelentése egyértelmű: ez az a hely, ahová betöltjük a szükséges erőforrásokat, a nézeteket és bármi mást, amire szükségünk van. A kimenetre az egyetlen módszer, amelyre összpontosítunk, az onPause. Az onStop és az onDestroy elkerülésének oka az, hogy semmilyen ellenőrzést nem tudunk gyakorolni felettük. Az onPause akkor fut, amikor az alkalmazás előtérből kerül ki, míg a másik kettőt az operációs rendszer futtatja az Ön igényeinek megfelelően. Lehet, hogy soha nem fogják kivégezni őket! Ez azért történik, hogy elkerüljük a tevékenység újból és újból létrehozásának költségeit, ha a tevékenységről az asztalra megyünk, és fordítva, és az operációs rendszer csak akkor szabadítja fel a felhasznált erőforrásokat, ha szüksége van rájuk, és nem kell minden esetben részt vennie. a nyílt folyamatok.

Ez azt jelenti, hogy feltételezzük, hogy az alkalmazás az onPause végrehajtása után meghal, és hogy a miénk utolsó esély az adatok mentésére hogy mentenünk kell és le kell állítanunk az általunk használt szolgáltatásokat, például a földrajzi helymeghatározást. Ha leállítottuk a szolgáltatásokat, az újraindítás megfelelő helye az onRestart.

A többi módszer, amelyet nem kell sokat használnunk. Gyakori eset, amikor szükségünk lesz rá, amikor harmadik fél könyvtárait integráljuk, például a Facebookot vagy a Flurry-t. Ezekben az esetekben arra kérjük, hogy egyeztessük tevékenységünk módszereit az Ön kódjával. Például a Flurry munkamenet regisztrálásához megkérjük, hogy indítsuk el a munkamenetet az onStart módszerrel.

Néhány hasznos ötlet

  • Ne feledje, hogy az egyes események mire szolgálnak. Mindig szükséged lesz az onCreate-ra, és gyakran a legfogyasztóbb szolgáltatások leállításához és újraindításához szükséges az onPause és az onResume.
  • Ne nyúljon a többi eseményhez ha nincs rá kifejezetten szüksége.
  • Ne bízzon az onStopban és az onDestroy-ban, lehet, hogy soha nem hívják őket. Mentsen el mindent, amire szüksége van az onPause alkalmazásban.
  • Kerülje a nem végleges statikus változók használatát. Az alkalmazás továbbra is betölthető, amikor visszatér, és megtartja a mögöttük hagyott értékeket. Ha nincs más választása, mint használni, mindenképpen állítsa vissza az értékeiket, amikor visszatér az előtérbe.

Több információ - Alapvető útmutató az Android programozásához


Önt érdekli:
Hogyan lehet eltávolítani a vírusokat az Android rendszeren
Kövessen minket a Google Hírekben

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Actualidad Blog
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.