Android. Ciclo di vita di Activity, Service e Processi



Documenti analoghi
Sistemi Mobili e Wireless Android Activity

Android. Android03: Ciclo di vita di una Activity.

Sistemi Mobili e Wireless Android - Servizi

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica

Android. Anatomia di una applicazione

monitoraggio dei locomotori via Internet

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Sequenza di finestre per lavorare con i punti di ripristino. e.g.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

MANUALE ESSE3 Gestione Registro delle lezioni

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. Alessandra Zullo

Se avete domande scrivetemi a vtornar@libero.it

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Guida Operativa. ArchiviaOL

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Manuale Utente MyFastPage

SPOSTARE UN FILE USANDO I COMANDI TAGLIA ED INCOLLA

GUIDA ALLA GESTIONE DEI TICKET REV. 1. guida_gestione_tck_rev1.doc - 1 di 9

Gestione appelli d esame

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

GUIDA ALLE SOLUZIONI

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Programmazione Android. Luca Morettoni

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

Soluzione dell esercizio del 2 Febbraio 2004

EASYMEAL: PARTE OPERATIVA

Strumenti per il testing di applicazioni in ambiente Android

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

ALF0021M MANUALE UTENTE MODULO "SETUP"

1 CIRCOLO SPINEA (VE) CORSO CONOSCENZA E MANUTENZIONE DEL COMPUTER APRILE 2010

Integrazione del progetto CART regione Toscana nel software di CCE K2

Guida all'installazione (Italiano) Primi passi

S.T.I. Servizi Tecnici Industriali srl Prato 17/10/10. Gestione utensili completa con cnc Fanuc

MANUALE UTENTE Fiscali Free

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Registratori di Cassa

FPf per Windows 3.1. Guida all uso

GUIDA ALL'UTILIZZO DELL'APP NATIVA PER TABLET ANDROID E APPLE

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Assicurazione NON Soci in Attività Sezionale

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Studio Legale. Guida operativa

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial

Officina Web. Gestione Commesse Officina GUIDA UTENTE. Officina Web: Guida Utente


STRUMENTI DI PRESENTAZIONE MODULO 6

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Gestione della memoria centrale

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Guida Software GestioneSpiaggia.it

ACCESSO AL SISTEMA HELIOS...

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

Nuova procedura on-line di autocertificazione

MODULO 02. Iniziamo a usare il computer

Manuale per l'utente

On-line Corsi d Informatica sul web

Lezione 3 Le attività

Gestione Turni. Introduzione

4.1 FAX Sollecito consegne via (Nuova funzione)

Tecniche di progettazione e sviluppo di applicazioni mobile

1) GESTIONE DELLE POSTAZIONI REMOTE

29. Inventari. Software SHOP_NET Manuale d uso Vers Valorizzazione Inventario

Coordinazione Distribuita

Office 2007 Lezione 08

APP RIO8 APP PER LA CONFIGURAZIONE GUIDA PER L UTENTE. Omniabit s.r.l. Via Val Camonica 11, Milan, Italy support@omniabit.

Guida all accesso al portale e ai servizi self service

Visual Basic.NET La Gestione degli Errori di Federico BARBATI

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

1 2 Fase di autenticazione utente

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Modulo 4: Ereditarietà, interfacce e clonazione

Procedure e Applicazioni Windows TM. Procedure e. TeamPortal Procedure e Applicazioni Windows TM

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Gestore Comunicazioni Obbligatorie - VARDATORI - Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI

Liberare la memoria allocata dinamicamente.

Esempi di algoritmi. Lezione III

Workland CRM. Workland CRM Rel /11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

Determinare la grandezza della sottorete

Programmazione. Android

Laboratorio di Informatica

Gestione licenze su Prinergy

GUIDA ALL'UTILIZZO DELL'APP NATIVA PER TABLET ANDROID E APPLE

Introduzione. Introduzione a NTI Shadow. Panoramica della schermata iniziale

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Informazioni demografiche e socio-economiche sugli Enti Locali

Capitolo 1 Installazione del programma

Dispensa di Informatica I.1

SPOSTARE UN FILE USANDO IL MOUSE

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

MODULO STAMPA BOLLETTINO PDF

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Transcript:

Android Ciclo di vita di Activity, Service e Processi

Introduzione In questa lezione analizzeremo il ciclo di vita delle Activity e dei Service mettendo in evidenza i criteri utilizzati da Android nella gestione dei relativi processi 2

Activity 1/3 Pur essendo possibile avviare più applicazioni contemporaneamente soltanto una può occupare il display, mentre le altre saranno nascoste in background Questo è il motivo per cui, il concetto di chiusura è secondario e normalmente non troveremo il punsante Esci 3

Activity 2/3 OnCreate(Bundle): e' invocato quando l'activity viene avviata per la prima volta. Il Bundle savedinstancestate serve per riportare l'activity nello stesso stato in cui si trovava la precedente istanza dell'activity terminata. OnStart(): è invocato quando l'activity sta per essere visualizzata onresume(): è invocato non appena l'activity inizia ad "interagire" con l'utente onpause(): è invocato non appena l'activity sta per essere ibernata (per es. e' stata avviata un'altra activity) onstop(): è invocato nel momento in cui l'activity non e' piu' visibile all'utente. 4

Activity 3/3 onrestart(): è invocato quando l'activity sta per essere riavviata dopo essere stata precedentemente arrestata ondestroy(): è invocata poco prima che l'activity sia distrutta onsaveinstancestate(bundle): è invocata per salvare lo stato dell'activity onrestoreinstancestate(bundle): è invocata solo se in precedenza è stato salvato uno stato 5

Ciclo di vita di un Service Quando viene invocato il metodo startservice() il sistema verifica se tale servizio è in escuzione altrimenti esegue oncreate() Successivamente è invocato il metodo onstartcommand() e il servizio è finalmente nello stato di esecuzione dove rimane fino a quando non sarà richiamato stopservice() oppure stopself(). 6

Service 1/2 oncreate(): a differenza delle Activity non presenta alcun parametro. Creato il servizio viene invocato il metodo onstartcommand(). Viene invocato una sola volta. onstartcommand(): invocato questo metodo il servizio resterà in esecuzione e rimarrà in questo stato fino a quando non sarà invocato stopservice() da parte dell'activity che lo ha generato, oppure stopself() da parte del servizio stesso. Può essere invocato più volte in seguito all'esecuzione di onstartservice() da parte dell'activity. 7

Service 2/2 ondestroy(): l'invocazione di stopservice() da parte dell'activity produrrà la chiamata di questo metodo del Servizio. In seguito a questa chiamata il servizio sarà eliminato 8

Applicazioni e Processi Per ogni applicazione che viene eseguita, Android avvia un nuovo processo Linux Di default, tutti i componenti di una data applicazione (per es. Activity + Service) sono eseguiti all'interno dello stesso processo Se al momento di avviare una applicazione esiste già un processo assegnato ad essa perchè un suo componente è stato eseguito in precedenza, allora tale applicazione sarà eseguita all'interno di questo processo 9

Applicazioni e Processi Nel caso in cui la memoria a disposizione per eseguire una applicazione in foreground (visibile all'utente) ovvero per eseguire un importante processo non sia disponibile, allora il sistema può decidere di eliminare uno o più processi in background secondo una logica ben definita Ad ogni processo viene assegnata una sorta di importanza gerarchica in base ai suoi componenti in esecuzione ed al loro stato Ovviamente i processi di minore importanza saranno i primi ad essere eliminati per liberare memoria 10

Applicazioni e Processi Sono state definite 5 tipologie di processi ordinate per importanza decrescente: Foreground Process Visible Process Service Process Background Process Empty Process 11

Foreground Process I processi Foreground sono quelli che eseguono componenti di interazione con l'utente: Activity in cima allo Stack Azioni di un BroadCastReceiver (OnReceive()) Metodi di callback nella gestione di un servizio come Start(), Create() o Destroy() Normalmente il numero di questo tipo di processi è limitato. Android potrà decidere di eliminarne uno come ultima chance per risolvere il problema di memoria 12

Visible Process Sono processi che pur non essendo direttamente visibili all'utente (non possiedono componenti in Foreground, si trovano in uno stato in cui possono comunque avere effetto su quello che l'utente vede visualizzato. Activity non in Foreground che esegue OnPause() Service connesso ad un'activity in Foreground. 13

Service Process Sono processi che eseguono Service Pur non interagendo direttamente con l'utente, Android li ritiene più importanti delle Activity in Background L'esempio classico è la riproduzione di un file audio: pur non interagendo direttamente con l'utente, questo accetterà malvolentieri l'interruzione dell'ascolto del brano. Pertanto Android proverà ad eliminare uno o più processi meno importanti prima di eliminare un Service Process 14

Background Process Sono processi che si occupano di eseguire Activity non più in Foreground per i quali è stato invocato il metodo OnStop() Il loro numero è in genere superiore a quello delle altre categorie L'eliminazione all'interno di questa categoria tiene in considerazione il criterio di Least Recent Used (LRU) Per questi processi è comunque definito un meccanismo di salvataggio e ripristino 15

Empty Process Sono i processi candidati per l'eliminazione. Non eseguono alcun componente Il motivo per cui non vengono eliminati nel momento in cui sono svuotati dai componenti che eseguivano è legato a strategie di caching Gli empty Process più vecchi saranno velocemente eliminati, mentre per quelli più recenti è più probabile che l'utente richiami un suo componente precedentemente visualizzato 16