giovedì 12 gennaio 2012
Le app in background consumano la batteria? Non sempre è così! Uno sviluppatore fornisce il suo punto di vista
La maggior parte degli utenti iOS hanno l’impressione che, quando sono aperte diverse applicazioni nella barra del multitasking, il livello di batteria dei nostri amati device possa diminuire esponenzialmente. Fino ad oggi questa concezione non era chiara, ma lo sviluppatore Fraser Speirs ha tentato di dare diverse risposte a riguardo. Noi vi facciamo una sintesi dettagliata di quello che è il suo pensiero, giusto o sbagliato che sia.
Non è necessario davvero gestire manualmente la barra multitasking in iOS poichè in realtà le applicazioni non sono in esecuzione. Non dobbiamo pensare la barra multitasking come un task manager ma come una sorta di cronologia del browser. Nel post sul suo blog, Speirs ha commentato il fatto che Apple abbia contribuito a diffondere disinformazione riguardo questa funzionalità ormai indispensabile. Infatti lo stesso sviluppatore ha comunicato che le applicazioni non vanno “chiuse” per liberare le risorse di sistema e quindi preservare la durata della batteria, ma per passare velocemente da un’app all’altra.
La prova che egli certifica riguarda il riavvio di iPhone. Se provate infatti ad aprire delle applicazioni e ravviarle, troverete di nuovo “magicamente” le stesse ancora “aperte”. Speirs ammette che comunque ci sono stati dei tweak per jailbreak che hanno tentato di dimostrare che le applicazioni sono davvero in esecuzione in background ma l’utente medio non dovrebbe preoccuparsi.
Secondo Speirs, per la maggior parte di volte non si dovrebbe mai toccare la barra multitasking. Quando si avvia un’app e si preme il tasto Home, 9 volte su 10 l’app chiusa non continuerà ad essere eseguita in background. Tuttavia, vi sono diverse eccezioni descritte proprio da lui stesso:
Non è in esecuzione – l’applicazione è stata terminata o non è stata lanciata.
Inattiva – l’applicazione è in primo piano ma non riceve eventi (ad esempio, l’utente ha bloccato il device con l’app attiva)
Attiva – lo stato normale di “in uso” per un app
Background – l’applicazione non è più on-screen, ma vi è ancora l’esecuzione del codice
Sospesa – l’applicazione è ancora in memoria, ma non vi è l’esecuzione del codice
Tecnicamente tutte le applicazioni, dopo che sia premuto il tasto home, rimangono soltanto per 5 secondi attive. iOS dà ad ogni applicazione una finestra di tempo molto limitata per “ripulirsi” prima che esso passi allo stato “Sospeso”. Da lì un’applicazione rimane sospesa nella memoria del dispositivo in modo che essa possa essere rapidamente avviata di nuovo (un pò come gestisce le applicazioni Mac OS X Lion). Contrariamente alle credenze popolari, lo stato “Sospeso” non appesantisce la durata della batteria. Se ci sono troppe applicazioni in questo stato, iOS è così intelligente da spostare le applicazioni nello stato in cui non possano pesare sulla RAM.
Alcune applicazioni come Mail invece, continuano a lavorare in background. Applicazioni che utilizzano Audio, GPS e utilizzano il protocollo VoIP sono sempre eseguiti in background fino al termine della loro attività. Per sua esperienza personale, lo stesso sviluppatore ammette come l’applicazione Mail sia una di quelle che “succhia” più batteria. L’unico modo, dice, per evitare che sia sempre in attività è quella di chiuderla ogni qualvolta non si utilizzi.
Un eccellente esempio di utilizzo è l’app di Skype. Quando fu introdotta, l’applicazione era davvero scarna e richiedeva un quantità di batteria per l’utilizzo davvero elevata. Dopo tanti aggiornamenti adesso l’app è diventata davvero precisa e gestisce se stessa, a livello di memoria occupata, davvero eccellentemente.
Tutte le applicazioni che richiedono di funzionare anche in background (Maps, per esempio) dovrebbero essere scritte in modo tale da saper quando smettere di usare le risorse del dispositivo. Infine, secondo lo stesso sviluppatore, non si dovrebbero chiudere mai effettivamente le applicazioni se non quando una di esse non funziona correttamente. E quando accade, la colpa non è di iOS.
In sintesi: tentare di gestire manualmente la barra multitasking di iOS è soltanto una perdita di tempo. Se i dipendenti Apple vi dicessero il contrario, Speirs vi suggerisce di correggerli.
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento