Multitasking: Android 2.2 vs iPhone OS4

In Android le app vengono sospese quando l’utente non le utilizza per un lungo periodo. Con sospese si intende che sono ancora in memoria ma in uno stato di “Freeze”. Quando il sistema necessita di un utilizzo di memoria extra, viene salvato sulla memoria fisica lo stato dell’app usata meno recentemente e poi killata. Inoltre Android utilizza dei “service” che possono essere paragonati ai demoni di linux che girano in background e comunicano con l’interfaccia utente dell’app. Ad esempio mentre mando in background un’app che sta facendo un upload di un’immagine un service potrà continuare l’upload in background.
In iPhone il multitasking è simile, con stessi processi di “Freeze” e salvataggio dello stato, ma per quanto riguarda i servizi in background è largamente differente rispetto Android. Prima di tutto non vi è una struttura client/server come descritto prima per Android. Le app che richiedono processi in background devono seguire determinate regole; se un’app deve semplicemente terminare un processo iniziato, dovrà richiedere al sistema di poterlo fare per un determinato periodo di tempo (es. se sto facendo un upload, una volta terminato l’app verrà freezata come le altre).
Se invece l’app richiede di eseguire determinate operazioni per un tempo indeterminato potrà eseguire solamente una delle 3 operazioni permesse alla volta che sono:
- Audio
- VOIP
- Location
Per Audio e VOIP le operazioni vengono eseguite in background senza la GUI, per Location bisogna distinguere fra app che richiedono un aggiornamento della Location saltuario e app che richiedono un aggiornamento costate. Nel primo caso le app in background vengono messe “a dormire” e risvegliate solo quando vi sono cambiamenti significativi della posizione; nel secondo caso (come ad esempio un navigatore) vengono eseguite in background private della GUI.
Conclusioni
La struttura di iPhone sembrerebbe meno complicata per un programmatore che vuole realizzare una nuova app, ma risulta molto più limitativa della struttura Android. Applicazioni per servizi come Twitter o Facebook non possono eseguire dei controlli in background di conseguenza le notifiche per nuovi eventi vengono inviate all’iPhone tramite push.
La struttura di Android di contro potrebbe essere più esosa per la batteria del telefono, ma questo problema si evita facilmente con una buona programmazione dell’applicazione.
Vincitore

se non si fosse capito.. Apple culo!
Tanto solo ciccokun usa apple mobili
io odio apple, è per questo che sto scrivendo su un Mac… Io odio pure Microsoft, è per questo che la mia console preferita è la XBox, e non la cambierei mai e poi mai… Io amo Google, è per questo che ancora non ho comprato un telefono Android….
Oggi accanto a me c’era una cinese che usava un portatile Lenovo con il Multi Touch… questo mi ha fatto sorridere.. non comprerò un Mac.
dagli al Boxaro !
a me piace la figa, cosa sono sti post nerd? finocchi! XD
PS
io non ho niente contro Android, anzi, spero dia degna battaglia ad iPhone/iTouch =) il problema è lo store però, un sistema di marketing come quello della Apple è difficile da battere ora come ora…e non dimentichiamo che il punto forte di iPhone è avere solo 2 modelli di hardware: per un programmatore è una manna dal cielo!
Il nostro editore ha chiesto articoli su android ed io l’ho accontentato
Ti dimostrerò il contrario, ma non ora.
@Cicciokun
Apple impone forti restrizioni sulle app commerciabili… Cosa che su Android non avviene, magari è un bene, magari è un male… ma come faccio a scaricarmi la app di RedTube su iPhone se la Apple blocca tutte le app porno???? è un problema non da poco!!
Tiz:
ma infatti senza jailbreak un iphone/itouch è un dispositivo troppo castrato! per fare un confronto bisogna prendere Adroid e OSX mobile jailbreakkato! se aggiungi Cydia e tutto il resto anche un iphone diventa un dispositivo per smanettoni, visto il core UNIX e l’infinità di MOD e script reperibili. Unica mancanza è flash…che per quanto odio a volte può essere utile, speriamo che qualcuno ce lo faccia girare…
@Cicciokun
noi saremo nerd e finocchi ma sei tu quello che ha scritto un post in cui non si capisce un beneamato
Ti venero