Vai al contenuto

Firmware 4.0 e multitaskingfacciamo chiarezza


  • Non puoi aprire una nuova discussione
  • Effettua l'accesso per rispondere
Questa discussione ha avuto 9 risposte

#1
Itachi

Itachi
  • HardBlackEye

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: [Mod]Moderatore
  • Messaggi: : 15296
In questi giorni,ho visto in diversi siti e blog (forumeye compreso) diversa confusione sul multitasking introdotto da apple nel nuovo firmware
Ho deciso quindi,di scrivere questo articolo per fare chiarezza sulla differenza che c'è tra il multitasking che conosciamo,e quello introdotto da Apple


IL MULTITASKING

Partiamo col chiarire come funziona un "normale" multitasking (per qualcuno puo essere ovvio ma è necessario)


quando sul pc utilizziamo qualcosa,i dati devono essere processati dalla cpu
il problema,è che i file da processare si trovano dove li abbiamo istallati,sulla memoria di massa
e questo è un problema perchè la velocita di trasferimento di una memoria di massa è insufficente per riuscire a stare dietro alla cpu
ed è qui che entra in gioco la ram
la ram,è una memoria ad alta velocità
i file che si trovano sulla ram possono essere processati quindi tranquillamente dalla cpu
ed è per questo che quando apriamo un programma,i suoi file vengono copiati temporaneamente sulla memoria di massa,in modo che durante il suo funzionamento,la cpu possa accedervi senza problemi
una volta chiuso il programma,i file vengono quindi eliminati dalla ram

quando parliamo di multitasking quindi,parliamo di un programma i cui file si trovano sulla ram,indipendentemente da se stiamo utilizzando il programma o no,e possono essere quindi immediatamente processati all'occorrenza

che sia un pc,un nokia o altro,il multitasking che siamo abituati a conoscere, consiste nel mantenere un programma attivo sulla ram esattamente come se lo stessimo utilizzando
questo vuol dire che il numero di programmi che possiamo mantenere attivi è limitato dalla capienza della ram




IL MULTITASKING DI APPLE

Chiarito questo,passiamo a quello della Apple

se avete gia visto qualche anteprima avrete notato che spesso ci sono anche 20-30 applicazioni presenti sul dock del multitasking
il 3gs ha 256 mb di ram,di cui la maggior parte occupati da file di sistema
concorderete quindi,che è impossibile che ci siano 20-30 applicazioni attive


il motivo è semplice

perchè quelle applicazioni non sono attive e non si trovano sulla ram (con completamente almeno)
il sistema inventato da apple è molto piu macchinoso di un semplice multitasking
quando apriamo un'applicazione,come nel pc i file vengono copiati sulla ram
ma quando la mettiamo in backgroud,in realtà la chiudiamo esattamente come si faceva con vecchio firmware

esatto,in linea teorica non è cambiato nulla
alla pressione del pulsante centrale,i file dell'applicazione vengono eliminati o ibernati dalla ram,rendendola a tutti gli effetti "inattiva"

quello che loro vogliono far passare per multitasking,è in realtà un multitasking simulato
lo scopo è questo

far continuare al sistema operativo quello che stava facendo l'applicazione,poi una volta riaperta,comunicargli cosa è successo nel frattempo
in questo modo,a noi sembrera a tutti gli effetti che sia rimasta aperta

il perchè di questo macchinoso sistema è semplice
a detta della apple,non c'è motivo di tenere un'intero programma aperto in sottofondo,se tanto in quel momento non lo si sta usando
quindi,sempre secondo loro,la cosa migliore è semplicemente mantenere attiva solamente quell'unica cosa che l'applicazione aveva lo scopo di fare mente si trovava in backgroud

infatti,insieme al firmware 4.0 sono state rilasciate diverse api,che gli sviluppatori dovranno inserire nella loro applicazione per poter funzionare in backgroud
queste api sono limitate alle cose basilari di cui si puo aver bisogno ( gps,voip,audio ecc)





facciamo un paio di esempi:

-skype
al momento,se noi con un iphone con firmware 4.0,premessimo il pulsate centrale mentre usiamo skype,l'applicazione verrebbe chiusa a tutti gli effetti
si,troveremmo l'icona nel dock del multitasking,ma come ho spiegato prima,l'applicazione sarebbe a tutti gli effetti chiusa e inattiva
infatti non ci arriverebbero ne chiamate ne notifiche di alcun tipo

detto questo ecco cosa faranno gli sviluppatori
inseriranno nella prossima versione di skype,l'api di cui vi ho parlato sopra dedicata al voip

quando premeremo il pulsante centrale,l'applicazione verrà chiusa come sopra
la differenza sarà che l'api introdotta,permettera di tenere attivo un processo che si occupera di controllare quando arriveranno delle chiamate
detto in modo molto semplice,verrà chiusa tutta l'applicazione tranne la parte che si occupa del ricevere chiamate

-tomtom
nel caso di tomtom(come negli altri navigatori) abbiamo lo stesso funzionamento
al momento,l'applicazione verrebbe chiusa

nella prossima versione,gli sviluppatori introdurranno l'api del gps,che si occupera di tenere attivo il processo che traccia la posizione
una volta riaperta l'applicazione,il navigatore sapra la strada fatta nel frattempo e dove ci troviamo,facendoci sembrare che sia rimasta attiva per tutto il tempo


per completare l'opera di simulazione del multitasking,ci sono poi altri 2 accorgimenti

-tutte le applicazioni chiuse verranno ibernate sulla memoria di massa o sulla ram
in pratica,le applicazioni verranno "ibernate" direttamente sulla ram o su uno spazio allocato della memoria di massa
veranno disattivate,ma salvando i file dei processi in corso sarà possibile riaprire l'applicazione istantaneamente esattamente dov'era prima

questo eviterà semplicemente di dover ricaricare le applicazioni,potendole quindi mostrare nella stessa schermata dove le abbiamo lasciate


-secondo,a detta di jobs,ci sarà un piccolo lasso di tempo in cui le applicazioni si troveranno davvero in multitasking
il firmware 4.0 sarà in grado di riconoscere se ci sono processi importanti attivi mentre chiudiamo l'applicazione

questo vuol dire che se stiamo per esempio caricando una foto con l'applicazione di facebook,dopo averla chiusa il sistema aspettera che la foto venga caricata completamente prima di chiudere efefttivamente l'applicazione




CONCLUSIONE

Il sistema che ho descritto dovrebbe almeno in teoria far risparmiare molta energia
Effettivamente,scordandoci per una attimo come funziona il tutto,all'utilizzo finale per noi potrebbe non creare differenza rispetto a un multitasking normale

D i contro pero,dobbiamo anche realizzare che questo sistema non permette di utilizzare realmente applicazioni in backgroud con tutti gli svantaggi che porta
per dirne uno,non ci sono api per tutto

per fare un esempio,per poter utilizzare infatti i vari client di chat (messenger e vari) dovremo continuare ad appoggiarci sulle ormai conosciute notifiche push,proprio perchè non ci sono api adatte a questo scopo
l'unica differenza è che cliccando sul messaggio ricevuto avremo una riapertura dell'applicazione piu tempestiva grazie al sistema sopra descritto


Insomma,come Apple ci ha abituati,questi suoi sistemi si presentano con molti vantaggi ma anche molte limitazioni

voi che ne pensate?

#2
GfxManEye

GfxManEye
  • Admin & Founder

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: [Admin]Admin Forum
  • Messaggi: : 85387
già le notifiche push consumano l'ira di dio la batteria.... e funzionano malissimo purtroppo... cmq ottima spiegazione, grazie mille.

#3
ebbott

ebbott
  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 4818
Non mi fido, remore delle notifiche push.
Almeno per il 3GS, per il nuovo non so!

#4
Instagib

Instagib
  • DVDRLZ per gli amici

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Collaboratore Forumeye
  • Messaggi: : 14892
e fare un multitasking da attivare solo quando serve? è quello che fa il backgrounder, quando devi uscire da un app (per esempio per leggere un sms) attivi il multitasking e poi lo disattivi quando non ti serve piu.
è un metodo intelligentissimo molto piu utile imho che tenere 30 applicazioni fintamente aperte...

#5
ebbott

ebbott
  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 4818
Per fare un esempio semplice, se non ho capito male, tenendo aperto Skype (quando verrà distribuita la versione riprogrammata con le nuove API) in "multitasking", il telefono terrà in ascolto solo il canale VOIP, e quindi ci avviserà se è in arrivo una chiamata, mentre per la chat testuale rimarremo legati alle push notification.
Sbaglio?

#6
iPhonefunia

iPhonefunia
  • Little Eye Fan

  • Stelletta
  • Gruppo: Utente
  • Messaggi: : 67
Ottimo, ottimissimo intervento Itachi :dribble:

#7
Char Aznable

Char Aznable
  • Little Eye Fan

  • Stelletta
  • Gruppo: Utente
  • Messaggi: : 67

Ottimo, ottimissimo intervento Itachi :dribble:


Quoto , molto interessante ed approfondito !Immagine inserita

Char Aznable




#8
Itachi

Itachi
  • HardBlackEye

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: [Mod]Moderatore
  • Messaggi: : 15296

Per fare un esempio semplice, se non ho capito male, tenendo aperto Skype (quando verrà distribuita la versione riprogrammata con le nuove API) in "multitasking", il telefono terrà in ascolto solo il canale VOIP, e quindi ci avviserà se è in arrivo una chiamata, mentre per la chat testuale rimarremo legati alle push notification.
Sbaglio?


esatto
il sistema operativo tappezzerà l'applicazione con notifiche push e api,ma in realtà skype sarà chiuso esattamente come prima

io non ho l conoscenze tecniche per confermare quello che ha detto Apple,ma secondo loro tutto questo sistema dovrebbe consumare meno del tenere l'applicazione semplicemente attiva


ho riuppato il topic perchè in questi giorni sto provando la gold master del firmware 4.0 e volevo dare le mie impressioni sul multitasking

per ora,sinceramente questo sistema non mi piace

ogni applicazioni che apro finisce nel dock,ma al livello pratico la cosa non serve a niente

il sistema di ibernazione delle applicazioni sulla memoria di massa fa guadagnare solo un paio di secondi sulla riapertura
il caricamento viene comunque rieffettuato,e lo si nota come prima anche se è piu breve,quindi se si trattava solo di limare il tempo di riapertura non vedo perchè far ritrovare l'applicazione sul dock,visto che ritappare sull'icona originale è esattamente uguale

le applicazioni apple native (mail,safari ecc) sono esattamente come prima
anche nel vecchio firmware le applicazioni native erano sempre in multitasking,quindi anche qui non vedo perchè confondere l'utente ulteriormente con la comparsa dell'icona del dock



per il momento questo sistema non vale la candela secondo me
per noi forse è uguale,ma credo che porterà diversa confusione negli utenti normali
non si ha avrà ben chiato a cosa serva tenere tutte quelle applicazioni sul dock,che oltretutto andranno chiuse manualmente,quindi si perde anche quel senso di immediatezza e sicurezza che si aveva prima quando cliccando sul tasto centrale si era sicuri che tutto fosse apposto


adesso pero c'è da aspettare il vero motivo per cui è stato implementato questo sistema,e cioè quello di usare le api messe a disposizione da apple sulle applicazioni
speriamo che integrando il tutto si abbia un qualche vantaggio effettivo

neanche a farlo apposta stasera navigon ha rilasciato un'intervista dove viene spiegato il funzionamento della loro nuova versione modificata per funzionare con il multitasking
http://www.youtube.com/watch?v=35UuWv6JRYg

ecco,effettivamente cosi invece la cosa ha un senso
il navigatore viene riaperto immediatamente senza nessuna attesa e con le coordinate esatte
inoltre mentre è chiuso vengono comunque impartiti i comandi vocali

insomma bisognera aspettare che ogni sviluppatore faccia questo lavoro adattando la sua applicazione con le nuove api

#9
ebbott

ebbott
  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 4818

insomma bisognera aspettare che ogni sviluppatore faccia questo lavoro adattando la sua applicazione con le nuove api


Esatto. ;)

#10
Valelegio

Valelegio
  • Politicamente scorretto.

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 10026

e fare un multitasking da attivare solo quando serve? è quello che fa il backgrounder, quando devi uscire da un app (per esempio per leggere un sms) attivi il multitasking e poi lo disattivi quando non ti serve piu.
è un metodo intelligentissimo molto piu utile imho che tenere 30 applicazioni fintamente aperte...



A parer mio era meglio backgrounder..




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi

Logo