Il fake multitasking di iOS4 (e di Android)

14 September 2010, sezione Android

L’idea* mi è venuta pensando al fake multitasking di iOS4/Android, per chi se lo fosse perso: mentre in Android è sempre stato possibile, solo recentemente con il nuovo sistema operativo della mela è stata introdotta la possibilità di tenere aperte più applicazioni contemporaneamente. Se pensate sia come il normale multitasking del vostro windows/linux/symbian vi sbagliate.

Provando le decine di applicazioni inutili nel’Ipod touch (con iOS4) di mio fratello mi sono accorto subito di una cosa, per quanti giochini (anche oltre la 20ntina!) si aprano iOS4 non rallenta mai1.

Il trucco è questo: potete tenere aperte più applicazioni insieme ma non tenerle in esecuzione contemporaneamente. Per dirla in altre parole è come se ogni volta che avviate una nuova applicazione tutte le altre vengano congelate. Questo comporta che le applicazioni in background non usano processore e quindi ogni programma per il tempo che rimane attivo ha il processore a completa disposizione2.

Questo vuol dire anche che se avete un programma che richiede lunghi tempi di elaborazione non potete mandarlo in background altrimenti quando lo andrete a risvegliare lo ritroverete allo stesso punto dove lo avevate lasciato.

…ma di solito uno non ha programmi di astrofisica nucleare su un cellulare. Penso che l’idea sia che in certi contesti simile è più importante avere un terminale sempre reattivo che averne uno che fa tante cose.

Insomma ciò che può sembrare un limite è semplicemente una scelta diversa di affrontare il problema, forse una scelta anche più azzeccata di quella della concorrenza (rimangio quello che ho detto, anche Android addotta lo stesso sistema, da prima e con minori limiti).

Driiiin!

Tempo scaduto. In realtà questo articolo non doveva parlare solo di iOS/Android ma appunto dell’idea* iniziale:

E se portassimo i vantaggi di un sistema del genere anche sul nostro desktop?

Ho uno script apposta :)

Continua nel prossimo articolo

  1. salvo mostrarti poi un messaggio con l’ambiguo testo “memoria piena” []
  2. ok non è proprio cosi ma non voglio allungare il brodo []

  • slash89mf

    su android il multitasking funziona allo stesso modo..

  • http://www.ginlemonblog.com/chi-sono/ GinLemon

    Si è vero, non lo sapevo…ho apportato qualche modifica per par condicio :D

  • slash89mf

    e’ normale che fai queste sviste se ignori una regola fondamentale: ANDROID E’ MEGLIO, SEMPRE! :P

  • http://www.ginlemonblog.com/chi-sono/ GinLemon

    No è che veramente ho provato pure Android ma non ho notato la cosa perché non c’erano molte applicazioni da avviare…

    (scherzo forza Android! :D)

  • palla

    Bell’articolo! Vorrei aggiungere solo che in iOS4 (ho provato solo questo e quindi non so se anche Android ce l’ha) tramite API apposta puoi specificare come deve comportarsi quell’applicazione una volta che viene messa in background. Esempio:
    Sto usando il tom tom? Switchi e apri un giochino, ma il navigatore continua a funzionare… Idem con le applicazioni multimediali di un certo tipo. Esempio: un app che ti faccia sentire la radio online! Se apri questa, il tom tom e poi ti metti a giocare, andranno tutte e 3 contemporaneamente… Ovviamente Apple impone controlli sulle app in modo che queste funzioni non vengano usate in modo errato, pero’ cosi’ facendo pian piano questo multitasking diventera’ ancora piu’ utile!
    E quindi sarebbe anche piu’ interessante implementarlo su pc come tu suggerivi :)

  • http://www.ginlemonblog.com/chi-sono/ GinLemon

    Si il discorso delle API vale anche per Android, anzi…le API di iOS4 riguardano un insieme limitato di funzioni e sono molto più restrittive di quelle di Android che invece lascia massima libertà agli sviluppatori.
    Questione di filosofia :)

  • roby

    son davvero curioso di vedere questo fake multitasking su linux :))

  • http://muntronaxiu.blogspot.com manuela

    ti dico solo che ho appena inserito i feed del tuo blog sul mio gùglrìder.

    grazie per le condivisioni…