Cicle de vida de les aplicacions iOS

X

Privadesa i galetes

Aquest lloc utilitza galetes. A l’continuar, acceptes el seu ús. Aconsegueix més informació; per exemple, sobre com controlar les galetes.

Entès

Anuncis

Porto molts anys en això de la mobilitat i és comú haver de llançar en veu alta als meus clients i companys de professió la reflexió que llanço en aquest article. La programació d’aplicacions mòbils natives és complicada. No tant pel llenguatge ja que, com he comentat anteriorment, llenguatges moderns com Kotlin, o fins i tot Java, i Swift estan acostant a un públic desenvolupador gran. El problema ve principalment perquè la majoria de programadors, sobretot els que vénen de el món web, no s’han topat amb un concepte que és importantíssim per abordar un desenvolupament mobile amb eficiència i és el cicle de vida.

conèixer el cicle de vida dels sistemes operatius mòbils és fonamental per poder abordar un desenvolupament amb garanties. Pensa que aquesta aplicació funcionant en el teu dispositiu pot patir alteracions en el seu flux natural d’execució per diversos motius:

  • Connexions asíncrones
  • Trucades de telèfon durant l’execució de l’app
  • Interrupcions d’altres aplicacions: Missatges de WhatsApp, etc
  • Interrupcions de la pròpia aplicació: Notificacions push
  • Apagat brusc per falta de bateria
  • Minimització de l’aplicació perquè l’usuari vol consultar alguna cosa en una altra
  • Un llarg etcètera

Tots aquests esdeveniments poden passar a una app mòbil i molts no ocorrerien en una aplicació d’escriptori o un web. Perquè l’aplicació que desenvolupis sigui robusta has d’entendre aquest cicle de vida de l’app i gestionar-los degudament.

No entraré a un tema excessivament tècnic per la qual cosa tan sols rozaré la punta de l’iceberg. Espero que tu, àvid lector, després de llegir aquest article decideixis indagar més pel teu compte sobre el comportament de les apps durant la seva execució.

En aquest article tractarem el cicle de vida d’una app en iOS. En el futur proper farem el mateix amb Android.

El gràfic de dalt mostra el cicle de vida de l’app. El de sota mostra els diferents estats de la mateixa. Un usuari prem sobre una app i s’inicia el primer procés del conjunt on es passa d’estat not running a inactive al Launch Time, veure el gràfic inferior. A partir d’aquí es pot veure en el gràfic superior com, davant de determinats estats de l’app, el desenvolupador pot capturar els esdeveniments que apareixen a la dreta i llançar part del seu codi particular. Un cop acaba el Launch Time l’app passa a estat actiu i és llavors quan el programador inicia el seu treball en el punt First Initialization ja que els mètodes main () i UIApplicationMain () no són sobreescribibles pel programador. En estat Activeu el programador treballa sobre el procés running, el qual és un bucle infinit d’execució. Això últim és molt important d’entendre, encara que l’aplicació no estigui fent res en teoria, tan sols el fet d’estar en primer pla consumirà recursos de l’dispositiu perquè aquest bucle s’està executant constantment. El programador ha de tenir molta cura de no introduir en aquest punt càlculs innecessaris per no drenar la bateria entre altres coses.

En el moment en què l’usuari prem el botó Home de l’iPhone l’aplicació passarà a estat Suspended però abans d’això l’aplicació podrà guardar estats de l’execució actual per reprendre a la tornada just on el va deixar. No obstant això, algunes tipologies especials d’app et permeten executar-se en estat minimitzat, cosa que no es permet a totes les apps. Es tracta de les aplicacions que executen alguns serveis especials de l’tipus:

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *