Multitasking su iPhone e iPad. La verità sullo switcher Applicazioni di iOs.

Spesso sentiamo dire, anche nella nostra lista, che bisogna chiudere più o meno regolarmente le applicazioni che si trovano nello switcher di iOS, perchè altrimenti queste succhiano batteria, memoria e potenza di calcolo.

Bene, quest’affermazione è falsa, ad eccezione di cinque categorie di applicazioni.

Un articolo di Fraser Speirs su Macworld fa luce su questo argomento, che confonde spesso anche persone che si presumono competenti, come i genius degli Apple Store.

L’affermazione è falsa per due ragioni:

la prima è che lo switcher applicazioni di iOS non contiene le app che sono attive in background, ma le app che sono state aperte di recente, indipendentemente dal loro stato, indipendentemente cioè dal fatto che siano attive in background oppure del tutto inattive e chiuse.

Lo switcher quindi non deve essere pensato come un equivalente della barra delle applicazioni di Windows, quanto piuttosto come un equivalente del Dock di OS X, oppure della voce “Elementi recenti” nel menu Apple.

La seconda ragione è che iOS gestisce autonomamente la chiusura delle app in background quando è necessario liberare memoria per altre app, ad eccezione delle cinque categorie di app a cui accennavamo sopra e che vedremo nel dettaglio in seguito.

Solo in questi casi può essere necessario od opportuno chiudere l’applicazione dallo switcher quando non serve più, per risparmiare memoria e batteria.

Vediamo la questione più nei dettagli.

Le applicazioni iOS possono assumere cinque stati:

  • non in esecuzione: l’app è stata chiusa oppure non è stata lanciata
  • inattiva: l’app è aperta e in primo piano, ma non riceve eventi (per es. quando blocchiamo lo schermo)
  • attiva: lo stato normale di un’applicazione in uso
  • background: l’applicazione non è più sullo schermo, ma è ancora in esecuzione
  • sospesa: l’app è ancora in memoria, ma non è in esecuzione

Lo stato di un’app attiva è evidente, e quello inattivo non è rilevante nella nostra situazione.

Cerchiamo invece di capire cosa succede quando premiamo il tasto Home per uscire da un’applicazione e come questa passa dallo stato di attività a quello in background, di sospensione e infine non in esecuzione.

Quando premiamo il tasto Home, l’applicazione passa dallo stato attivo a quello in background. La maggior parte delle app quindi passa dallo stato in background a quello di sospensione nel giro di pochi secondi.

Un’app sospesa rimane in memoria. Questo serve per lanciarla più velocemente quando la riapriamo. In questo stato un’app occupa sì della memoria, ma non consuma batteria né potenza di calcolo perché non è attiva.

Bene, potreste pensare che se le app restano residenti in memoria, è necessario chiuderle periodicamente per liberare tale memoria. Invece no: di questo si occupa iOS.

Se lanciamo un’applicazione pesante, che richiede molta memoria, come per esempio un gioco, iOS elimina dalla memoria le app che vi si trovano per liberare lo spazio necessario. Quindi, le app che si trovavano in memoria nello stato di sospensione vengono chiuse definitivamente, passando così allo stato non in esecuzione, e la prossima volta che le riapriamo ripartiranno da capo.

Bene, nulla di tutto ciò ha a che fare con lo switcher, dove, come già detto, troviamo semplicemente una lista delle app aperte di recente, indipendentemente dal fatto che attualmente si trovino in background, oppure in stato di sospensione o addirittura non in esecuzione.

Inoltre, come forse avrete notato, l’applicazione che è al momento attiva e in primo piano non compare nello switcher.

Ci sono poi i casi particolari.

Normalmente, quando premiamo il tasto Home per uscire da un’applicazione, iOS le concede 5 secondi di tempo in background, per terminare le sue operazioni, prima di metterla in stato di sospensione, cioè lasciarla in memoria ma non attiva. Ma ci sono delle app che hanno bisogno di più tempo per terminare le loro operazioni, come per es. un’app che stia scaricando un file voluminoso da internet. In questo caso, l’app può richiedere a iOS una proroga per terminare le sue operazioni in background.

La proroga però non è indefinita: iOS concede alle app che fanno questa richiesta un periodo di circa 10 minuti in background, dopodiché le metterà forzatamente in stato di sospensione.

Anche di questa situazione, quindi, l’utente non si deve preoccupare e non deve chiudere manualmente l’app dallo switcher, a meno che non sia in una situazione di emergenza, come per es. se la batteria si sta per esaurire e ha bisogno di conservarla ancora per un po’ prima che il suo device si spenga.

Va aanche considerato che se si chiude manualmente l’app, l’operazione che stava eseguendo verrà interrotta, con i relativi effetti indesiderati: per es., se si stava scaricando un file, questo non verrà scaricato e toccherà ripetere l’operazione la prossima volta.

Infine, ci sono però delle app che hanno bisogno di restare indefinitamente in background, senza limiti di tempo, e iOS lo concede, ma solo a un numero ristretto di app, cioè ad alcune app di sistema (come per es. Mail) e alle 5 categorie a cui abbiamo accennato in precedenza e che sono:

  1. app che riproducono audio in background, come per es. Tunein Radio
  2. app di navigazione GPS, come Navigon o Tomtom
  3. app che devono essere pronte a ricevere chiamate VoIP, come Skype
  4. app dell’edicola che scaricano nuovi contenuti
  5. app controllate da accessori esterni e che ricevono input in background)

Come abbiamo detto, a queste categorie specifiche di app iOS concede di restare in background per un tempo indefinito, finché non abbiano terminato di svolgere la loro funzione.

Ora, questa è precisamente la situazione in cui può essere necessario od opportuno che l’utente le chiuda manualmente dallo switcher. Se un’app è ben scritta, infatti, neanche in questo caso sarebbe necessario che l’utente se ne preoccupasse, e penserebbe lei autonomamente a terminare il suo stato di background passando allo stato di sospensione. Ma se un’app non è ben scritta, o se è presente qualche bug, allora l’app potrebbe restare permanentemente in background, consumando quindi batteria e potenza di calcolo. Ecco allora che diventerebbe necessario chiuderla manualmente dallo switcher.

Riassumendo: le applicazioni presenti nello switcher di iOS non sono le applicazioni attive in background, ma quelle che sono state aperte di recente. Nella maggioranza dei casi non è necessario chiuderle, perchè ci pensa automaticamente iOS quando è necessario. Alcune tipologie specifiche di app (come quelle di navigazione GPS, o di comunicazione VoIP) hanno la possibilità di restare in background a tempo indefinito, consumando quindi batteria e potenza di calcolo.

Solo in questo caso può essere necessario od opportuno chiuderle manualmente dallo switcher.

4 Commenti

  1. Grandioso articolo, come grandioso tutto il sito e chi vi collabora.
    Grazie per i suggerimenti.
    Continuate così.

  2. Grande Fabio. Ci voleva un articolo così. Letto tutto d’un fiato. Ben scritto, esaustivo. Complimenti davvero.
    Avevo immaginato questo comportamento e tu mi hai fornito la prova che avevo immaginato giusto, posso aggiungere che:
    chiudendo certe applicazioni dallo switcher si sente il tritono, e queste sono quelle che stavano lavorando, tipicamente sono Telefono e mail, le altre invece, quelle in stato disattivo o standby, si chiudono in silenzio dopo il doppio tap.
    Ciao.

  3. ottimo articolo! il migliore che abbia mai letto sul argomento! complimenti hai spiegato questo concetto complicato in maniera cristallina e comprensiva da tutti .

Lascia un commento

L'indirizzo email non sarà pubblicato.


*