Livscykeln för en Android-applikation

grundläggande-guide-programmering-android-2

När du börjar programmera på ett språk som C ++ eller Java är det första som lärs ut den viktigaste metoden, den punkt som operativsystemet kommer att ringa när vi startar vår applikation.

I Android finns det ingen huvudmetod som sådan, men det finns flera metoder för vår aktivitet som kommer att anropas av SSOO när de inträffar viktiga händelser. I detta kapitel kommer vi att studera djupare vad dessa händelser är och hur det fungerar. hela aktivitetens cykel av Android. Den officiella dokumentationen erbjuder en omfattande förklaring av detta ämne, här studerar vi de viktigaste elementen tillsammans med några vanliga misstag när vi hanterar dem.

Livscykeln för Android följer detta schema:

Android-livscykel

Livscykelhändelser

  1. onCreate (bunt)
    • Representerar ögonblicket då aktiviteten skapas. Denna metod genereras normalt av guiden när du skapar en ny aktivitet på Android, och det är där vi kommer att skapa allt som aktiviteten behöver. Om vi ​​tidigare har sparat aktivitetsdata i ett Bundle-objekt kan vi använda den för att återskapa den. Normalt kommer vi inte att använda den.
  2. onStart ()
    • Aktiviteten fortsätter till vara på skärmen, även om det inte nödvändigtvis är synligt. Om vi ​​kommer från ett stopp kommer vi att gå igenom onRestart () först.
  3. onRestart ()
    • Tidigare till onStart () när vi kommer från ett samtal till onStop ().
  4. på CV()
    • Aktiviteten startar svara på interaktion av användaren.
  5. onPause ()
    • Aktiviteten kommer sluta svara till användarinteraktion.
  6. onStop ()
    • Aktiviteten har gått helt till bakgrund.
  7. onDestroy ()
    • Aktivitet det kommer att förstöras och dina resurser frigjorda.

När vi behöver implementera en av dessa metoder kommer vi att göra det för att lägga till vår aktivitet med dessa profiler:

offentlig klass MyActivity utökar Aktivitet {skyddad tomrum onCreate (Bundle sparadInstansStat) {super.onCreate (sparadInstansStat); ...} skyddad ogiltig onStart () {super.onStart (); ...} skyddad ogiltig onRestart () {super.onRestart (); ...} skyddad tomrum onResume () {super.onResume (); ...} skyddad tomrum onPause () {... super.onPause (); } skyddad tomrum onStop () {... onStop (); } skyddad tomrum onDestroy () {... super.onDestroy (); }}

Det är viktigt att underhålla superklassmetodsamtal för att inte stöta på överraskningar. Uppgifterna för varje evenemang som ligger över vår aktivitet måste bibehållas. Detta samtal går till början av inmatningshändelserna och till slutet av utmatningshändelserna. På detta sätt kommer vi att undvika överraskningar, eftersom elementen i den aktivitet som vi behöver men som inte kommer att vara under vår kontroll kommer att skapas innan de används och kommer att förstöras efteråt.

Vi behöver inte lägga till alla händelser, de vi inte behöver använda standardimplementeringen. Metoderna som vi ofta använder - och det rekommenderas inte att röra vid de andra - är onCreate, onPause och onRestart.

Betydelsen av onCreate är tydlig: det är platsen där vi kommer att ladda de resurser vi behöver, åsikterna och vad vi än behöver. För produktionen är den enda metoden vi kommer att fokusera på onPause. Anledningen till att undvika onStop och onDestroy är att vi inte har någon kontroll över dem. onPause körs när applikationen kommer ut ur förgrunden, medan de andra två körs av operativsystemet baserat på dina behov. De får aldrig avrättas! Detta görs för att undvika kostnaden för att skapa aktiviteten om och om igen om vi går från aktiviteten till skrivbordet och vice versa, och operativsystemet kommer bara att frigöra de resurser som används om det behöver dem, och det behöver inte delta i alla de öppna processerna.

Det innebär att vi antar att applikationen kommer att dö efter att ha körts onPause, och att den är vår sista chansen att spara data att vi behöver spara och stoppa tjänster som vi använder, till exempel geolokalisering. Om vi ​​har stoppat tjänsterna är rätt plats att starta om dem på Starta om.

De andra metoderna behöver vi inte använda mycket. Ett vanligt fall där vi behöver det kommer att vara när vi integrerar tredjepartsbibliotek, till exempel Facebook eller Flurry. I dessa fall kommer vi att bli ombedda att matcha metoderna för vår aktivitet till din kod. Till exempel, för att registrera en Flurry-session kommer vi att bli ombedd att starta sessionen i onStart-metoden.

Några användbara idéer

  • Kom ihåg vad varje evenemang är för. Du behöver alltid onCreate, och ganska ofta behöver du onPause och onResume för att stoppa och starta om de mest konsumerande tjänsterna.
  • Rör inte vid de andra händelserna om du inte behöver det uttryckligen.
  • Lita inte på onStop och onDestroy, de kan aldrig kallas. Spara allt du behöver i onPause.
  • Undvik att använda icke-slutliga statiska variabler. Appen kan fortfarande laddas när du återvänder och de behåller de värden de lämnade. Om du inte har något annat val än att använda dem, se till att återställa deras värden när du återvänder till förgrunden.

Mer information - Grundläggande guide för programmering i Android


Du är intresserad av:
Hur man tar bort virus på Android
Följ oss på Google Nyheter

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Actualidad Blog
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.